:root{--brand: #2856d8;--brand-dark: #1d3fa8;--brand-purple: #d96c57;--signal: #f2b84b;--signal-soft: rgba(196,131,25,.2);--coral: #d96c57;--status-surface: rgba(242,184,75,.14);--status-text: #8a5a08;--status-border: rgba(138,90,8,.25);--text-on-brand: #ffffff;--text-on-signal: #242a38;--focus-ring: rgba(40,86,216,.3);--grid-line: rgba(40,86,216,.055);--overlay-scrim: rgba(36,42,56,.42);--contact-bg: #242a38;--contact-text: #f4f6f9;--contact-muted: #c1c8d4;--contact-field-bg: #303748;--contact-field-border: rgba(255,255,255,.2);--contact-outline: rgba(255,255,255,.25);--contact-cta-bg: #f2b84b;--contact-cta-text: #242a38;--skill-firmware: #2856d8;--skill-os: #b84f3a;--skill-platforms: #8a5a08;--skill-protocols: #166c98;--skill-validation: #52648c;--skill-domains: #a45134;--gradient-brand: linear-gradient(135deg, #2856d8 0%, #1d3fa8 100%);--gradient-text: linear-gradient(135deg, #2856d8 30%, #d96c57 100%);--bg: #f4f6f9;--bg-secondary: #f4f6f9;--bg-tint: #edf1f8;--bg-card: #ffffff;--bg-nav: rgba(244,246,249,.94);--surface: #ffffff;--text: #242a38;--text-secondary: #586273;--text-muted: #7b8595;--border: #dfe4ec;--shadow-sm: 0 2px 8px rgba(36,42,56,.05);--shadow-md: 0 8px 24px rgba(36,42,56,.08);--shadow-lg: 0 18px 48px rgba(36,42,56,.12);--font-display: "Space Grotesk", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace;font-family:var(--font-body);font-size:16px;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--bg: #151a24;--bg-secondary: #151a24;--bg-tint: #1b2230;--bg-card: #202737;--bg-nav: rgba(21,26,36,.94);--surface: #202737;--text: #f1f3f7;--text-secondary: #c4cad4;--text-muted: #9ba4b3;--border: #343e50;--brand: #9cb2ff;--brand-dark: #c0ccff;--brand-purple: #ff9078;--signal: #ffd178;--signal-soft: rgba(255,209,120,.2);--coral: #ff9078;--status-surface: rgba(255,209,120,.12);--status-text: #ffd178;--status-border: rgba(255,209,120,.35);--text-on-brand: #151a24;--text-on-signal: #242a38;--focus-ring: rgba(156,178,255,.35);--grid-line: rgba(156,178,255,.06);--overlay-scrim: rgba(0,0,0,.55);--contact-bg: #10141d;--contact-text: #f4f6f9;--contact-muted: #c1c8d4;--contact-field-bg: #252d3d;--contact-field-border: rgba(255,255,255,.2);--contact-outline: rgba(255,255,255,.25);--contact-cta-bg: #ffd178;--contact-cta-text: #242a38;--skill-firmware: #9cb2ff;--skill-os: #ff9b83;--skill-platforms: #f3c366;--skill-protocols: #70c4e8;--skill-validation: #a7b5dc;--skill-domains: #f0a07f;--shadow-sm: 0 2px 8px rgba(0,0,0,.18);--shadow-md: 0 8px 24px rgba(0,0,0,.24);--shadow-lg: 0 18px 48px rgba(0,0,0,.32)}a,button,.cta-btn,.product-card,.project-card,.skill-circle,.skill-card,.hero-pill-btn{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,opacity .2s ease}*,*:before,*:after{box-sizing:border-box}h1,h2,h3,h4{margin:0}h1{font-family:var(--font-display);font-weight:800;letter-spacing:0}h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:0}a{font-weight:500;color:var(--brand);text-decoration:inherit}a:hover{color:var(--brand-dark)}body{margin:0;display:block;min-width:320px;min-height:100vh;background:var(--bg-secondary);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.6}html{scroll-behavior:smooth}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer}button:focus-visible{outline:3px solid var(--brand);outline-offset:2px}#root{width:100vw;min-height:100vh;margin:0;padding:0;box-sizing:border-box;overflow-x:hidden}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}body{margin:0;font-family:var(--font-body);background:var(--bg-secondary);color:var(--text);scroll-behavior:smooth;overflow-x:hidden!important;display:block;min-width:320px;min-height:100vh}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px var(--focus-ring)}body.scroll-lock,#root.scroll-lock{overflow-y:hidden!important}.app-content-wrapper{width:100%;min-height:100vh;box-sizing:border-box}.logo{height:1.5em;padding:.2em;will-change:filter;transition:filter .3s;font-size:.95rem;font-weight:700;color:#2d6cdf;text-decoration:none;letter-spacing:1px;margin:0}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.navbar{width:100%;background:#fff;box-shadow:0 2px 8px #0000000a;position:sticky;top:0;z-index:100;transition:box-shadow .3s;min-height:32px;padding:0;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.navbar .container{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto;padding:0 .5rem;min-height:32px}.nav-links{list-style:none;display:flex;gap:1.2rem;margin:0;padding:0;flex-wrap:wrap;justify-content:center}.nav-links a{color:#1a202c;text-decoration:none;font-weight:500;font-size:1rem;transition:color .2s,border-bottom .2s;padding-bottom:2px;border-bottom:2px solid transparent}.nav-links a:hover,.nav-links a:focus{color:#2d6cdf;border-bottom:2px solid #2d6cdf;outline:none}.hero-section{width:100%;margin:0 auto 3rem;border-radius:18px;box-shadow:0 2px 16px #0000000a;background:#fff;animation:fadeInUp 1.2s;transition:box-shadow .4s,background .4s;min-height:80vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(120deg,#e0e7ff,#f6f8fa);text-align:center;padding:4rem 1rem 2rem}.hero-section h1{font-size:3.2rem;margin-bottom:.5rem;color:#2d6cdf;letter-spacing:-1px;font-weight:800;word-break:break-word;line-height:1.2}.hero-section h2{font-size:1.6rem;color:#3b4252;margin-bottom:1.5rem;font-weight:600;word-break:break-word;line-height:1.2}.hero-section p{font-size:1.2rem;color:#444;max-width:600px;margin:0 auto 1.5rem;line-height:1.7}.cta-btn{display:inline-block;background:#2d6cdf;color:#fff;padding:.75rem 2.2rem;border-radius:30px;font-size:1.15rem;font-weight:600;text-decoration:none;box-shadow:0 2px 8px #2d6cdf14;transition:background .2s,transform .2s,box-shadow .2s;margin-top:1.5rem;letter-spacing:.5px}.cta-btn:hover,.cta-btn:focus{background:#174ea6;transform:translateY(-2px) scale(1.04);box-shadow:0 6px 24px #2d6cdf21;outline:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:2.5rem 2vw;box-sizing:border-box}section{margin-bottom:3rem;transition:background .5s,box-shadow .5s;width:100%;max-width:100vw;box-sizing:border-box;margin:0 auto;padding:0;overflow-x:hidden!important}.skills-list{width:100%;display:flex;flex-wrap:wrap;gap:1.2rem;padding:0;margin:0;list-style:none;justify-content:center;align-items:stretch}.skills-list li{background:#e0e7ff;color:#2d6cdf;padding:.5rem 1.2rem;border-radius:20px;font-weight:500;font-size:1rem;letter-spacing:.2px;box-shadow:0 1px 4px #2d6cdf0a;min-width:220px;max-width:100%;flex:1 1 220px;box-sizing:border-box}.projects-list{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:2rem;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center;align-items:stretch}.project-card{background:#f1f5fd;border-radius:14px;box-shadow:0 2px 8px #2d6cdf0f;padding:1.5rem;transition:transform .3s,box-shadow .3s;font-size:1.05rem;line-height:1.6;min-width:220px;max-width:100%;flex:1 1 220px;box-sizing:border-box}.project-card:hover,.project-card:focus{transform:translateY(-4px) scale(1.03);box-shadow:0 6px 24px #2d6cdf21;outline:none}.project-card h3{color:#174ea6;font-size:1.2rem;margin-bottom:.5rem;font-weight:700;word-break:break-word;line-height:1.2}.project-card a{color:#2d6cdf;text-decoration:underline;font-weight:500;font-size:1rem;transition:color .2s}.project-card a:hover,.project-card a:focus{color:#174ea6;outline:none}.products-section{margin:0 auto 3rem;border-radius:18px;box-shadow:0 2px 16px #0000000a;background:#fff;animation:fadeInUp 1.2s;transition:box-shadow .4s,background .4s;padding:2.5rem 1.5rem;width:100%;max-width:100vw;box-sizing:border-box;margin:0 auto;padding:0}.products-section h2{color:#2d6cdf;margin-bottom:1.2rem;font-size:2rem;font-weight:700;letter-spacing:-1px;text-align:center;word-break:break-word;line-height:1.2}.products-list{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:2rem;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:center;align-items:stretch}.additional-projects{margin-top:2.5rem}.additional-projects>h3{margin-bottom:1rem}.additional-projects-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:.75rem}.additional-project-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:60px;padding:.85rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);text-decoration:none}.additional-project-link:hover{border-color:var(--brand);color:var(--brand)}.product-card{background:#f1f5fd;border-radius:14px;box-shadow:0 2px 8px #2d6cdf0f;padding:1.2rem;min-width:220px;text-align:center;transition:transform .3s,box-shadow .3s;max-width:100%;flex:1 1 220px;box-sizing:border-box}.product-card:hover,.product-card:focus{transform:translateY(-4px) scale(1.03);box-shadow:0 6px 24px #2d6cdf21;outline:none}.product-card h3{color:#174ea6;font-size:1.1rem;margin-bottom:6px;font-weight:700;word-break:break-word;line-height:1.2}.product-card a{color:#2d6cdf;text-decoration:underline;font-weight:500;font-size:1rem;transition:color .2s;display:block;margin-top:.5rem}.product-card a:hover,.product-card a:focus{color:#174ea6;outline:none}.contact-form{display:flex;flex-direction:column;gap:1.2rem;max-width:400px;margin:0 auto;text-align:justify}.contact-form input,.contact-form textarea{color:#222;background:#f8fafc;padding:.8rem 1rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem;font-family:inherit;resize:none;transition:border .2s,box-shadow .2s;text-align:justify;width:100%;box-sizing:border-box}.contact-form textarea{min-height:100px;max-height:220px}.contact-form input:focus,.contact-form textarea:focus{border:1.5px solid #2d6cdf;box-shadow:0 0 0 2px #e0e7ff;outline:none;color:#222;background:#fff}.contact-form button{background:#2d6cdf;color:#fff;border:none;border-radius:30px;padding:.8rem 2rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}.contact-form button:hover,.contact-form button:focus{background:#174ea6;transform:translateY(-2px) scale(1.04);box-shadow:0 6px 24px #2d6cdf21;outline:none}.contact-form>div{display:flex;gap:1.2rem}@media (max-width: 1200px){.container{max-width:100vw;padding:2rem 1vw}.projects-list,.products-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media (max-width: 900px){.container{max-width:100vw;padding:0 .5rem}.products-list,.projects-list,.skills-list{gap:.7rem}.product-card,.project-card,.skills-list li{min-width:160px;flex:1 1 160px}.nav-links{flex-direction:column;align-items:flex-start;gap:.5rem}.hero-content{margin-left:0!important;padding-left:0!important}}@media (max-width: 800px){.navbar .container{gap:0}.projects-list,.products-list{grid-template-columns:1fr}.container{padding:1rem .5rem}.hero-section h1{font-size:2.2rem}}@media (max-width: 700px){.container{padding:0 .2rem}.products-list,.projects-list,.skills-list{flex-direction:column;align-items:stretch;gap:.5rem}.product-card,.project-card,.skills-list li{min-width:0;width:100%;flex:1 1 100%}.contact-form>div{flex-direction:column;gap:.7rem}.contact-form input{width:100%!important}.contact-form button{font-size:1rem!important;padding:.7rem!important}}@media (max-width: 400px){h1{font-size:2rem!important}h2{font-size:1.6rem!important}.container{padding:0 .1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}section{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}section.visible{opacity:1;transform:none}h1,h2,h3,h4{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}.container h2{position:relative;display:inline-block;padding-bottom:0;margin-bottom:12px}.container h2:after{content:none}.scroll-progress{position:fixed;top:0;left:0;height:3px;z-index:9999;background:linear-gradient(90deg,#2d6cdf,#7c3aed);transition:width .1s linear!important;pointer-events:none;border-radius:0 2px 2px 0}.hero-gradient-mesh{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:linear-gradient(-45deg,#dbeafe,#ede9fe,#e0e7ff,#fce7f3,#d1fae5);background-size:400% 400%;animation:meshShift 14s ease infinite}@keyframes meshShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.hero-gradient-text{background:linear-gradient(135deg,#2d6cdf 30%,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-stats{display:flex;gap:0;margin:1.4rem 0 1.2rem;border-radius:14px;overflow:hidden;border:1.5px solid rgba(45,108,223,.12);width:fit-content}.hero-stat-item{padding:.7rem 1.4rem;text-align:center;border-right:1.5px solid rgba(45,108,223,.12);min-width:90px}.hero-stat-item:last-child{border-right:none}.hero-stat-value{font-family:Sora,Inter,system-ui;font-size:1.6rem;font-weight:800;line-height:1;background:linear-gradient(135deg,#2d6cdf,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-stat-label{font-size:.7rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase;margin-top:3px;color:#6b7280}@media (max-width: 900px){.hero-stats{flex-wrap:wrap;width:100%}.hero-stat-item{flex:1 1 45%;border-right:none;border-bottom:1.5px solid rgba(45,108,223,.12)}.hero-stat-item:nth-child(3),.hero-stat-item:nth-child(4){border-bottom:none}}.hero-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.8rem;align-items:center}.hero-pill-btn{display:inline-flex;align-items:center;gap:8px;padding:.6rem 1.3rem;border-radius:30px;font-size:.9rem;font-weight:600;font-family:Inter,system-ui;text-decoration:none;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease!important}.hero-pill-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2d6cdf33}.hero-pill-btn:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.hero-pill-btn.primary{background:linear-gradient(135deg,#2d6cdf,#7c3aed);color:#fff;box-shadow:0 2px 12px #2d6cdf40}.hero-pill-btn.secondary{background:transparent;border-color:#2d6cdf59;color:#2d6cdf}.hero-pill-btn.secondary:hover{background:#2d6cdf0f;border-color:#2d6cdf}[data-theme=dark] .hero-pill-btn.secondary{color:#b3cdf6;border-color:#b3cdf659}[data-theme=dark] .hero-pill-btn.secondary:hover{background:#b3cdf614;border-color:#b3cdf6}.navbar-scrolled{backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);box-shadow:0 1px #e2e8f0b3,0 4px 24px #2d6cdf14!important}[data-theme=dark] .navbar-scrolled{box-shadow:0 1px #2d3748b3,0 4px 24px #0000004d!important}@keyframes routeFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.route-fade{animation:routeFadeIn .35s cubic-bezier(.4,0,.2,1) forwards}.tech-tag{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.3px;background:#2d6cdf1a;color:#2d6cdf;border:1px solid rgba(45,108,223,.2);margin:2px;white-space:nowrap}[data-theme=dark] .tech-tag{background:#b3cdf61f;color:#b3cdf6;border-color:#b3cdf633}.tech-tags-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.case-block{font-size:.86rem;line-height:1.58;color:#475569;margin-top:4px}[data-theme=dark] .case-block{color:#cbd5e1}.case-label{font-weight:700;color:#1d4ed8}[data-theme=dark] .case-label{color:#b3cdf6}.case-role-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}.case-role-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.75px;color:#2563eb}[data-theme=dark] .case-role-label{color:#93c5fd}.case-role-value{font-size:.78rem;font-weight:600;border-radius:999px;padding:3px 10px;background:#2563eb1f;border:1px solid rgba(37,99,235,.24);color:#1e40af}[data-theme=dark] .case-role-value{color:#dbeafe;background:#93c5fd29;border-color:#93c5fd4d}.case-chip{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.72rem;font-weight:600;letter-spacing:.2px;background:#0284c71a;color:#075985;border:1px solid rgba(2,132,199,.2);margin:2px}[data-theme=dark] .case-chip{background:#38bdf81f;color:#bae6fd;border-color:#38bdf838}.cursor-glow{position:fixed;pointer-events:none;z-index:9990;width:400px;height:400px;border-radius:50%;transform:translate(-50%,-50%);transition:left .06s linear !important,top .06s linear!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.cursor-glow{display:none!important}section{opacity:1!important;transform:none!important}}.site-footer{width:100%;padding:1.5rem 2rem;text-align:center;font-size:.875rem;border-top:1px solid var(--border, #e2e8f0)}.site-footer a{font-weight:600}.site-footer-links{display:flex;justify-content:center;gap:1.2rem;margin-top:.5rem}.not-found-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;gap:1rem;text-align:center;padding:2rem}.not-found-code{font-family:var(--font-display);font-size:clamp(5rem,18vw,9rem);font-weight:800;line-height:1;background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.not-found-msg{font-size:1.3rem;font-weight:600;margin:0}.not-found-sub{color:var(--text-muted);font-size:1rem;margin:0}.badge-current{display:inline-flex;align-items:center;gap:4px;background:var(--signal);color:var(--text-on-signal);padding:2px 9px;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:0;vertical-align:middle;margin-left:8px}body{background:var(--bg-secondary)!important;color:var(--text)!important}.app-content-wrapper{background:var(--bg-secondary)}.portfolio-page{background:var(--bg-secondary);color:var(--text)}.portfolio-page section{width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:5.5rem max(1.5rem,calc((100vw - 1160px)/2))!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:var(--text)!important;scroll-margin-top:84px;transition:none!important;opacity:1;transform:none}.portfolio-page section h2{margin:0 0 .65rem!important;color:var(--text)!important;font-family:var(--font-display)!important;font-size:42px!important;font-weight:600!important;line-height:1.08!important;letter-spacing:0!important;text-align:left!important}.portfolio-page section h3{color:var(--text)!important;font-family:var(--font-display)!important;letter-spacing:0!important}.portfolio-page .container{width:100%!important;max-width:1160px!important;margin:0 auto!important;padding:0!important}.navbar{position:sticky;top:0;z-index:1000;width:100%;max-width:none;min-height:76px;overflow:visible;border-bottom:1px solid var(--border);background:var(--bg-nav)!important;box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.navbar .container{display:flex;min-height:76px!important;max-width:1240px!important;padding:0 1.5rem!important;gap:1.5rem;justify-content:space-between!important;overflow:visible}.nav-brand{display:inline-flex;align-items:center;flex:0 0 auto;gap:.75rem;color:var(--text)!important;text-decoration:none}.nav-brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;background:var(--brand);color:var(--bg);font-family:var(--font-display);font-size:15px;font-weight:700}.nav-brand-copy{display:grid;gap:2px;line-height:1.1}.nav-brand-copy strong{font-family:var(--font-display);font-size:14px}.nav-brand-copy small{color:var(--text-muted);font-family:var(--font-mono);font-size:9px;text-transform:uppercase}.navbar .nav-links{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:clamp(.55rem,1.25vw,1.15rem);width:auto;padding:0}.navbar .nav-links>li{flex:0 0 auto}.desktop-nav-link{display:inline-flex;align-items:center;min-height:42px;color:var(--text-secondary)!important;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.desktop-nav-link:hover,.mobile-nav-link:hover{color:var(--brand)!important}.navbar .nav-links>li:nth-last-child(2)>a{padding:.65rem .9rem;border-radius:6px;background:var(--text);color:var(--bg)!important;font-size:12px!important}.navbar [aria-label="Toggle theme"]{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--border)!important;border-radius:8px;background:var(--surface)!important}.navbar [aria-label="Toggle theme"] svg{width:18px;height:18px}.mobile-nav-link{display:block;padding:.7rem 0;color:var(--text)!important;font-family:var(--font-display);font-size:20px;font-weight:600;text-decoration:none}.mobile-nav-panel{border-left:1px solid var(--border);background:var(--surface)!important}.mobile-nav-backdrop{background:var(--overlay-scrim)!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.portfolio-page #hero{display:flex;min-height:min(780px,calc(100svh - 76px))!important;align-items:center;padding-top:4rem!important;padding-bottom:4rem!important;border-bottom:1px solid var(--border)!important;background-color:var(--bg-secondary)!important;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px)!important;background-size:36px 36px!important}.portfolio-page #hero>.container{display:grid!important;width:100%!important;max-width:1160px!important;min-height:0!important;grid-template-columns:minmax(240px,360px) minmax(0,1fr)!important;align-items:center!important;justify-content:initial!important;gap:clamp(2rem,6vw,5.5rem)!important;padding:0!important}.portfolio-page .hero-photo-wrapper{width:100%!important;min-width:0!important;min-height:0!important;padding:12px 12px 0 0}.portfolio-page .hero-photo-wrapper img{display:block;width:100%!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:360px!important;max-height:none!important;aspect-ratio:1;border:1px solid var(--border)!important;border-radius:8px!important;background:var(--surface);box-shadow:12px 12px 0 var(--coral)!important;object-fit:cover}.portfolio-page .hero-content{width:100%!important;max-width:670px!important;min-width:0!important;margin:0!important;padding:0!important;align-items:flex-start!important;text-align:left!important}.portfolio-page .hero-content>div:first-child{margin:0 0 1.15rem!important;padding:.45rem .7rem!important;border:1px solid var(--border)!important;border-radius:4px!important;background:var(--surface)!important;color:var(--brand)!important;font-family:var(--font-mono);font-size:10px!important}.portfolio-page #hero h1{margin:0 0 .5rem!important;color:var(--text)!important;font-family:var(--font-display)!important;font-size:64px!important;font-weight:600!important;line-height:1.02!important;letter-spacing:0!important}.portfolio-page .hero-gradient-text{background:none!important;color:var(--text)!important;-webkit-text-fill-color:currentColor!important}.portfolio-page .hero-content h1+div{min-height:0!important;margin:0 0 1.15rem!important;color:var(--brand)!important;font-family:var(--font-display);font-size:21px!important;font-weight:600!important;line-height:1.35!important;white-space:normal!important}.portfolio-page .hero-content p{max-width:600px!important;margin:0 0 1rem!important;color:var(--text-secondary)!important;font-size:16px!important;line-height:1.7!important;text-align:left!important}.portfolio-page .hero-content ul{margin:.5rem 0 1rem 1rem!important;padding-left:.5rem!important;color:var(--text-secondary)!important;font-size:14px!important;line-height:1.6!important}.portfolio-page .hero-content li::marker{color:var(--coral)}.portfolio-page .case-chip{border:1px solid var(--border)!important;border-radius:4px!important;background:var(--surface)!important;color:var(--text-secondary)!important;font-family:var(--font-mono);font-size:10px!important;letter-spacing:0!important}.portfolio-page .hero-stats{display:flex;width:auto!important;margin:.8rem 0 1rem!important;border:0!important;border-radius:0!important;background:transparent}.portfolio-page .hero-stat-item{min-width:132px;padding:.35rem 1rem .35rem 0!important;border-right:1px solid var(--border)!important;background:transparent!important;text-align:left!important}.portfolio-page .hero-stat-item+.hero-stat-item{padding-left:1rem!important;border-right:0!important}.portfolio-page .hero-stat-value{background:none!important;color:var(--text)!important;font-family:var(--font-display)!important;font-size:30px!important;-webkit-text-fill-color:currentColor!important}.portfolio-page .hero-stat-label{color:var(--text-muted)!important;font-family:var(--font-mono);font-size:9px!important;letter-spacing:0!important}.portfolio-page .hero-cta-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.5rem!important}.portfolio-page .hero-pill-btn{min-height:44px;padding:.7rem 1rem!important;border:1px solid var(--border)!important;border-radius:5px!important;font-family:var(--font-body)!important;font-size:13px!important;font-weight:700!important}.portfolio-page .hero-pill-btn.primary{border-color:var(--text)!important;background:var(--text)!important;color:var(--bg)!important;box-shadow:none!important}.portfolio-page .hero-pill-btn.secondary{background:var(--surface)!important;color:var(--text)!important}.portfolio-page #projects,.portfolio-page #products,.portfolio-page #education{background:var(--bg-secondary)!important}.portfolio-page #experience,.portfolio-page #skills{border-top:1px solid var(--border)!important;border-bottom:1px solid var(--border)!important;background:var(--surface)!important}.portfolio-page #skills{background:var(--bg-tint)!important}.portfolio-page #projects>.container>p,.portfolio-page #products>.container>p,.portfolio-page #skills>.container>p{max-width:650px;margin:0 0 2rem!important;color:var(--text-muted)!important;font-size:15px!important;text-align:left!important}.portfolio-page #projects>.container>h3{margin:2rem 0 .8rem!important;font-family:var(--font-mono)!important;font-size:11px!important;font-weight:500!important;text-transform:uppercase}.portfolio-page #projects .products-list,.portfolio-page #products .products-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1rem!important;margin-top:1.4rem!important}.portfolio-page .product-card{display:flex!important;min-width:0!important;max-width:none!important;flex:initial!important;flex-direction:column;gap:.55rem!important;padding:1.4rem!important;border:1px solid var(--border)!important;border-top:1px solid var(--border)!important;border-radius:8px!important;background:var(--surface)!important;box-shadow:none!important;color:var(--text)!important}.portfolio-page .product-card:hover{transform:translateY(-3px);border-color:var(--brand)!important;box-shadow:var(--shadow-md)!important}.portfolio-page .product-card h3{color:var(--text)!important;font-size:19px!important;line-height:1.2!important}.portfolio-page .product-card .case-block{color:var(--text-secondary)!important;font-size:13px!important;line-height:1.55!important}.portfolio-page .case-label,.portfolio-page .case-role-label{color:var(--brand)!important;font-family:var(--font-mono);letter-spacing:0!important}.portfolio-page .case-role-value{border-radius:4px!important;background:color-mix(in srgb,var(--brand) 12%,transparent)!important;border-color:color-mix(in srgb,var(--brand) 25%,transparent)!important;color:var(--text)!important}.portfolio-page .tech-tag{border:1px solid var(--border)!important;border-radius:4px!important;background:var(--bg-secondary)!important;color:var(--text-secondary)!important;font-family:var(--font-mono);font-size:10px!important}.additional-projects{margin-top:2.5rem!important}.additional-project-link{border-radius:6px!important;background:var(--surface)!important;color:var(--text-secondary)!important;font-size:13px}.portfolio-page #skills .container>div:last-child{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))!important;gap:1rem!important}.portfolio-page #skills .container>div:last-child>div{gap:.85rem!important;padding:1.25rem!important;border:1px solid var(--border)!important;border-radius:8px!important;background:var(--surface)!important;box-shadow:none!important}.portfolio-page #skills .skill-card:hover{transform:translateY(-2px);border-color:var(--skill-accent)!important;box-shadow:var(--shadow-md)!important}.portfolio-page #skills .container>div:last-child>div>div:first-child>div:first-child{border-radius:6px!important;background:color-mix(in srgb,var(--skill-accent) 10%,transparent)!important}.portfolio-page #skills .container>div:last-child>div>div:first-child>div:last-child>div:first-child{color:var(--skill-accent)!important;font-family:var(--font-display)}.portfolio-page #skills .container>div:last-child>div>div:first-child>div:last-child>div:last-child{color:var(--text-muted)!important}.portfolio-page #skills .container>div:last-child>div>div:last-child span{border-radius:4px!important;background:color-mix(in srgb,var(--skill-accent) 8%,var(--surface))!important;border-color:color-mix(in srgb,var(--skill-accent) 24%,var(--border))!important;color:var(--skill-accent)!important;font-family:var(--font-mono);font-size:10px!important}.portfolio-page #experience>.container,.portfolio-page #education>.container{max-width:1000px!important}.portfolio-page #experience .container h2,.portfolio-page #education .container h2{margin-bottom:2rem!important}.portfolio-page #experience .experience-timeline{max-width:900px}.portfolio-page #experience .badge-current{border-radius:4px!important;background:var(--signal)!important;color:var(--text-on-signal)!important;font-family:var(--font-mono);letter-spacing:0!important;animation:none!important}.portfolio-page #experience .badge-internship{display:inline-flex;align-items:center;min-height:22px;padding:.2rem .5rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--text-secondary);font-family:var(--font-mono);font-size:10px}.portfolio-page #experience .experience-awards,.portfolio-page #experience .experience-languages{border-radius:8px!important;border-color:var(--border)!important;background:var(--bg-secondary)!important;box-shadow:none!important}.portfolio-page #education img{border-radius:6px!important}.portfolio-page #contact{background:var(--contact-bg)!important;color:var(--contact-text)!important}.portfolio-page #contact h2{color:var(--contact-text)!important}.portfolio-page #contact p{color:var(--contact-muted)!important}.portfolio-page #contact .container>div>div{max-width:720px!important}.portfolio-page #contact .breadcrumbs-nav{display:none!important}.portfolio-page #contact .hero-pill-btn.primary{border-color:var(--contact-cta-bg)!important;background:var(--contact-cta-bg)!important;color:var(--contact-cta-text)!important}.portfolio-page #contact .hero-pill-btn.secondary{border-color:var(--contact-outline)!important;background:transparent!important;color:var(--contact-text)!important}.portfolio-page #contact .contact-form input,.portfolio-page #contact .contact-form textarea{border-color:var(--contact-field-border)!important;border-radius:6px!important;background:var(--contact-field-bg)!important;color:var(--contact-text)!important;text-align:left!important}.portfolio-page #contact .contact-form input::placeholder,.portfolio-page #contact .contact-form textarea::placeholder{color:var(--contact-muted)!important}.portfolio-page #contact .contact-form button{border-radius:6px!important;background:var(--contact-cta-bg)!important;color:var(--contact-cta-text)!important}.portfolio-page #contact .contact-form .hero-pill-btn,.portfolio-page #contact .hero-pill-btn{color:var(--contact-text)}.portfolio-page #contact svg{stroke:var(--signal)!important}.portfolio-page #contact .contact-social-link{color:var(--signal)!important}.portfolio-page #contact .contact-social-link svg,.portfolio-page #contact .contact-social-link svg *{stroke:currentColor!important}.portfolio-page #contact .contact-social-link svg text{fill:currentColor!important;stroke:none!important}.site-footer{padding:1.8rem 1.5rem!important;border-top:1px solid var(--border)!important;background:var(--bg-secondary)!important;color:var(--text-muted)!important;font-family:var(--font-mono);font-size:11px!important}.site-footer a{color:var(--brand)!important}.scroll-progress{background:var(--coral)!important}.cursor-glow{display:none!important}@media (max-width: 1100px){.navbar .nav-links{gap:.55rem}.desktop-nav-link{font-size:12px}.portfolio-page #hero>.container{grid-template-columns:minmax(220px,320px) minmax(0,1fr)!important;gap:2.5rem!important}}@media (max-width: 1024px){.navbar .container{min-height:66px!important}.navbar{min-height:66px}.navbar .container>div{margin-left:auto!important}.mobile-nav-panel{width:min(86vw,360px)!important;padding:2rem 1.5rem!important}.navbar .nav-links.mobile-menu{flex:0 0 auto!important;width:100%!important;margin:1rem 0 0!important;align-items:stretch!important;justify-content:flex-start!important;gap:.2rem!important}.mobile-menu>li{width:100%}.mobile-menu>li>.mobile-nav-link{min-height:46px;padding:.65rem .75rem!important;border-radius:5px;font-size:16px}.mobile-menu>li:nth-last-child(2)>a{display:flex!important;width:100%;min-height:44px;align-items:center;justify-content:center;margin-top:.75rem;padding:.65rem 1rem!important;border-radius:5px;background:var(--text);color:var(--bg)!important;font-size:13px!important;text-decoration:none!important}.mobile-menu>li:last-child{margin-top:.75rem!important}.mobile-menu>li:last-child button{width:40px;height:40px;border:1px solid var(--border)!important;border-radius:6px;background:var(--surface)!important}}@media (max-width: 760px){.portfolio-page section{padding:4rem 1.25rem!important;scroll-margin-top:68px}.portfolio-page section h2{font-size:34px!important}.portfolio-page #hero{min-height:0!important;padding-top:2.5rem!important;padding-bottom:3.5rem!important}.portfolio-page #hero>.container{width:100%!important;min-width:0!important;grid-template-columns:1fr!important;justify-items:stretch;gap:2rem!important}.portfolio-page .hero-photo-wrapper{width:min(74vw,300px)!important;margin:0 auto!important;padding:8px 8px 0 0}.portfolio-page .hero-photo-wrapper img{max-width:100%!important;box-shadow:8px 8px 0 var(--coral)!important}.portfolio-page #hero h1{font-size:44px!important}.portfolio-page .hero-content{align-items:flex-start!important;width:100%!important;max-width:none!important}.portfolio-page .hero-content ul{margin-left:.5rem!important}.portfolio-page .hero-stats{width:100%!important}.portfolio-page .hero-stat-item{min-width:0;flex:1 1 50%}.portfolio-page #projects .products-list,.portfolio-page #products .products-list{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-page #experience .experience-timeline{overflow:hidden}.portfolio-page #experience .experience-entry>div:first-child{display:none!important}.portfolio-page #experience .experience-entry>div:nth-child(2){width:36px!important;min-width:36px!important;max-width:36px!important}.portfolio-page #experience .experience-entry>div:nth-child(3){margin-left:4px!important}.portfolio-page #education .container>div>div>div:first-child{display:none!important}.portfolio-page #education .container>div>div>div:nth-child(2){width:36px!important;min-width:36px!important;max-width:36px!important}.portfolio-page #contact .tech-tags-row{gap:.35rem}}@media (max-width: 560px){.navbar .container{padding:0 1rem!important}.portfolio-page #projects .products-list,.portfolio-page #products .products-list{grid-template-columns:1fr}.portfolio-page .hero-content h1+div{font-size:18px!important}.portfolio-page .hero-cta-row{width:100%}.portfolio-page .hero-cta-row .hero-pill-btn{flex:1 1 auto;justify-content:center}}
