*,*:before,*:after{box-sizing:border-box}:root{--bg: #1c222c;--surface: #20272f;--surface-2: #252d38;--surface-3: #2b3442;--glass-bg: rgba(28, 34, 44, .72);--bg-header: rgba(28, 34, 44, .92);--border: rgba(100, 130, 200, .1);--border-hover: rgba(100, 130, 200, .22);--text: #fdf6e3;--text-muted: #d4cebb;--text-subtle: #a09888;--primary: #394d7b;--primary-hover: #4860a0;--primary-dim: rgba(57, 77, 123, .14);--primary-glow: rgba(57, 77, 123, .32);--primary-text: #fdf6e3;--accent: #75fbfa;--accent-dim: rgba(117, 251, 250, .1);--cyan: #38bdf8;--cyan-dim: rgba(56, 189, 248, .1);--emerald: #10b981;--emerald-dim: rgba(16, 185, 129, .1);--badge-bg: rgba(117, 251, 250, .07);--badge-border: rgba(117, 251, 250, .22);--badge-color: #75fbfa;--ghost-bg: #101625;--ghost-color: #fdf6e3;--ghost-hover-bg: #1a2338;--ghost-hover-color: #fdf6e3;--ghost-border: rgba(117, 251, 250, .45);--dot-color: rgba(100, 130, 200, .18);--sans: "Inter", system-ui, -apple-system, sans-serif;--max-width: 780px;--header-height: 3.5rem;--radius: 12px;--radius-sm: 6px;--transition: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 4px 12px rgba(0, 0, 0, .15);--shadow-md: 0 4px 24px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .2);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .35), 0 4px 12px rgba(0, 0, 0, .2)}[data-theme=light]{--bg: #ffffff;--surface: #f8fafc;--surface-2: #f1f5f9;--surface-3: #e2e8f0;--glass-bg: rgba(255, 255, 255, .85);--bg-header: rgba(255, 255, 255, .9);--border: rgba(15, 23, 42, .08);--border-hover: rgba(15, 23, 42, .18);--text: #0f172a;--text-muted: #475569;--text-subtle: #94a3b8;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-dim: rgba(37, 99, 235, .08);--primary-glow: rgba(37, 99, 235, .15);--primary-text: #ffffff;--accent: #0ea5e9;--accent-dim: rgba(14, 165, 233, .08);--cyan: #0891b2;--cyan-dim: rgba(8, 145, 178, .08);--emerald: #059669;--emerald-dim: rgba(5, 150, 105, .08);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 4px 12px rgba(0, 0, 0, .06);--shadow-md: 0 4px 24px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .12), 0 4px 12px rgba(0, 0, 0, .08);--badge-bg: var(--emerald-dim);--badge-border: rgba(5, 150, 105, .22);--badge-color: #059669;--ghost-bg: transparent;--ghost-color: var(--text-muted);--ghost-hover-bg: rgba(148, 163, 184, .1);--ghost-hover-color: var(--text);--ghost-border: var(--border);--dot-color: rgba(15, 23, 42, .035)}[data-theme=dark]{--bg: #1c222c;--surface: #20272f;--surface-2: #252d38;--surface-3: #2b3442;--glass-bg: rgba(28, 34, 44, .72);--bg-header: rgba(28, 34, 44, .92);--border: rgba(100, 130, 200, .1);--border-hover: rgba(100, 130, 200, .22);--text: #fdf6e3;--text-muted: #d4cebb;--text-subtle: #a09888;--primary: #394d7b;--primary-hover: #4860a0;--primary-dim: rgba(57, 77, 123, .14);--primary-glow: rgba(57, 77, 123, .32);--primary-text: #fdf6e3;--accent: #75fbfa;--accent-dim: rgba(117, 251, 250, .1);--cyan: #38bdf8;--cyan-dim: rgba(56, 189, 248, .1);--emerald: #10b981;--emerald-dim: rgba(16, 185, 129, .1);--badge-bg: rgba(117, 251, 250, .07);--badge-border: rgba(117, 251, 250, .22);--badge-color: #75fbfa;--ghost-bg: #101625;--ghost-color: #fdf6e3;--ghost-hover-bg: #1a2338;--ghost-hover-color: #fdf6e3;--ghost-border: rgba(117, 251, 250, .45);--dot-color: rgba(100, 130, 200, .18);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .35), 0 4px 12px rgba(0, 0, 0, .2);--shadow-md: 0 4px 24px rgba(0, 0, 0, .35), 0 2px 8px rgba(0, 0, 0, .25);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .25)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #ffffff;--surface: #f8fafc;--surface-2: #f1f5f9;--surface-3: #e2e8f0;--glass-bg: rgba(255, 255, 255, .85);--bg-header: rgba(255, 255, 255, .9);--border: rgba(15, 23, 42, .08);--border-hover: rgba(15, 23, 42, .18);--text: #0f172a;--text-muted: #475569;--text-subtle: #94a3b8;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-dim: rgba(37, 99, 235, .08);--primary-glow: rgba(37, 99, 235, .15);--accent: #0ea5e9;--accent-dim: rgba(14, 165, 233, .08);--cyan: #0891b2;--cyan-dim: rgba(8, 145, 178, .08);--emerald: #059669;--emerald-dim: rgba(5, 150, 105, .08);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 4px 12px rgba(0, 0, 0, .06);--shadow-md: 0 4px 24px rgba(0, 0, 0, .08), 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .12), 0 4px 12px rgba(0, 0, 0, .08);--badge-bg: var(--emerald-dim);--badge-border: rgba(5, 150, 105, .22);--badge-color: #059669;--ghost-bg: transparent;--ghost-color: var(--text-muted);--ghost-hover-bg: rgba(148, 163, 184, .1);--ghost-hover-color: var(--text);--ghost-border: var(--border);--primary-text: #ffffff;--dot-color: rgba(15, 23, 42, .035)}}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{margin:0;font-family:var(--sans);font-size:1rem;line-height:1.65;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(var(--dot-color) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;z-index:-2}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 160% 50% at 50% -5%,rgba(57,77,123,.12) 0%,transparent 70%),radial-gradient(ellipse 120% 40% at 50% 100%,rgba(117,251,250,.04) 0%,transparent 70%);pointer-events:none;z-index:-1}a{color:var(--primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--primary-hover)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:1rem;z-index:1000;padding:.5rem 1rem;background:var(--primary);color:#fff;border-radius:var(--radius);font-weight:600;font-size:.875rem}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:100;height:var(--header-height);background:var(--bg-header);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border)}.nav{display:flex;align-items:center;justify-content:space-between;max-width:calc(var(--max-width) + 4rem);height:100%;margin:0 auto;padding:0 1.5rem}.nav-right{display:flex;align-items:center;gap:.5rem}.nav-logo{font-size:.9375rem;font-weight:700;color:var(--text);letter-spacing:-.025em;transition:opacity var(--transition)}.nav-logo:hover{color:var(--text);opacity:.75}.nav-links{display:flex;gap:.125rem;margin:0;padding:0;list-style:none}.nav-links a{display:block;padding:.375rem .625rem;font-size:.8125rem;font-weight:500;color:var(--text-muted);border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition)}.nav-links a:hover{color:var(--text);background:#94a3b814}.nav-links a.is-active{color:var(--primary);background:var(--primary-dim)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-subtle);cursor:pointer;flex-shrink:0;transition:color var(--transition),border-color var(--transition),background var(--transition)}.theme-toggle:hover{color:var(--text);border-color:var(--border-hover);background:#94a3b814}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:2rem;height:2rem;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;cursor:pointer}.nav-toggle-bar{display:block;width:16px;height:1.5px;margin:0 auto;background:var(--text-muted);border-radius:1px;transition:transform var(--transition)}main{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem 8rem}.section{padding:6rem 0;border-bottom:1px solid var(--border)}.section:last-of-type{border-bottom:none}.section-header{margin-bottom:3rem}.section-label{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.5rem;background:linear-gradient(90deg,var(--primary) 0%,var(--cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-title{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.035em;color:var(--text);line-height:1.2}.hero{position:relative;padding:7rem 0 5rem;border-bottom:1px solid var(--border)}.hero:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% 20%,rgba(117,251,250,.08) 0%,rgba(57,77,123,.06) 45%,transparent 70%);pointer-events:none;z-index:0}.hero-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:3rem}.hero-content{flex:1;min-width:0}.hero-photo{flex-shrink:0;width:11rem;height:11rem;object-fit:cover;object-position:center;border-radius:50%;border:2px solid transparent;background:linear-gradient(var(--bg),var(--bg)) padding-box,linear-gradient(135deg,#75fbfa,#394d7b) border-box;box-shadow:0 0 0 2px #75fbfa73,0 0 20px #75fbfa24,0 24px 64px #00000080;animation:scaleIn .6s cubic-bezier(.4,0,.2,1) .3s both;transition:box-shadow var(--transition-slow),transform var(--transition-slow)}.hero-photo:hover{box-shadow:0 0 0 3px #75fbfaa6,0 0 36px #75fbfa33,0 24px 64px #00000080;transform:scale(1.02)}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .875rem;background:var(--badge-bg);border:1px solid var(--badge-border);border-radius:999px;color:var(--badge-color);font-size:.75rem;font-weight:500;letter-spacing:.02em;margin-bottom:1.5rem;animation:fadeSlideUp .5s cubic-bezier(.4,0,.2,1) .05s both}.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--badge-color);flex-shrink:0;animation:blink 2.5s ease infinite}.hero-name{margin:0;font-size:clamp(2rem,7vw,3.5rem);font-weight:800;line-height:1.1;letter-spacing:-.04em;background:linear-gradient(135deg,var(--text) 55%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeSlideUp .5s cubic-bezier(.4,0,.2,1) .1s both}.hero-title{margin:.75rem 0 0;font-size:1.0625rem;font-weight:500;color:var(--accent);letter-spacing:-.01em;animation:fadeSlideUp .5s cubic-bezier(.4,0,.2,1) .15s both}.hero-tagline{margin:1rem 0 0;font-size:.9375rem;color:var(--text-muted);line-height:1.8;max-width:46ch;animation:fadeSlideUp .5s cubic-bezier(.4,0,.2,1) .2s both}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem;animation:fadeSlideUp .5s cubic-bezier(.4,0,.2,1) .25s both}.hero-stats{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:1.5rem 3.5rem;padding-top:2.5rem;margin-top:2.5rem;border-top:1px solid var(--border);animation:fadeSlideUp .5s cubic-bezier(.4,0,.2,1) .3s both}.hero-stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--text);letter-spacing:-.035em;line-height:1}.hero-stat-label{display:block;font-size:.6875rem;font-weight:500;color:var(--accent);text-transform:uppercase;letter-spacing:.07em;margin-top:.35rem}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.375rem;font-family:var(--sans);font-size:.875rem;font-weight:500;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition),transform var(--transition);text-decoration:none}.btn-primary{background:var(--primary);color:var(--primary-text, #fff);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:var(--primary-text, #fff);box-shadow:0 4px 20px var(--primary-glow);transform:translateY(-1px)}.btn-ghost{background:var(--ghost-bg);color:var(--ghost-color);border-color:var(--ghost-border, var(--border))}.btn-ghost:hover{background:var(--ghost-hover-bg);color:var(--ghost-hover-color);border-color:var(--ghost-border, var(--border));transform:translateY(-1px)}.about-content p{margin:0 0 1.25rem;color:var(--text-muted);font-size:.9375rem;line-height:1.85}.about-content p:last-child{margin-bottom:0}.skills-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.skill-group{padding:1.25rem 1.5rem;background:var(--glass-bg);backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.skill-group:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.skill-group-title{margin:0 0 .75rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--primary)}.skill-group-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{padding:.3rem .7rem;font-size:.8125rem;font-weight:500;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);transition:color var(--transition),border-color var(--transition),background var(--transition),transform var(--transition);cursor:default}.skill-tag:hover{color:var(--text);border-color:var(--primary);background:var(--primary-dim);transform:translateY(-1px)}.timeline{display:flex;flex-direction:column;gap:1.25rem}.timeline-item{position:relative;padding:1.75rem 2rem 1.75rem 2.25rem;background:var(--glass-bg);backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:0 var(--radius) var(--radius) 0;box-shadow:var(--shadow-sm);transition:border-color var(--transition),border-left-color var(--transition),background var(--transition),box-shadow var(--transition),transform var(--transition)}.timeline-item:hover{border-color:#94a3b826;border-left-color:var(--primary);background:var(--surface);box-shadow:var(--shadow-md),-4px 0 20px -4px var(--primary-glow);transform:translate(3px)}.timeline-item:before{content:"";position:absolute;left:-7px;top:2rem;width:11px;height:11px;background:var(--primary);border-radius:50%;box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--primary-dim);transition:box-shadow var(--transition)}.timeline-item:hover:before{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--primary),0 0 12px var(--primary-glow)}.timeline-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1rem}.timeline-header-left{display:flex;align-items:center;gap:.875rem;min-width:0}.company-logo{width:40px;height:40px;border-radius:8px;flex-shrink:0;object-fit:contain;background:#fff;padding:4px;border:1px solid rgba(0,0,0,.08)}.company-logo--placeholder{display:flex;align-items:center;justify-content:center;background:var(--surface);border:1.5px dashed var(--border-hover);color:var(--text-muted);font-size:1rem;font-weight:700;letter-spacing:-.02em;cursor:default;-webkit-user-select:none;user-select:none}.timeline-title{min-width:0}.timeline-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0;text-align:right}.timeline-period{display:inline-flex;align-items:center;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--cyan);background:var(--cyan-dim);padding:.25rem .65rem;border-radius:var(--radius-sm)}.timeline-location{font-size:.78rem;color:var(--text-subtle)}.timeline-item h3{margin:0;font-size:1.0625rem;font-weight:600;letter-spacing:-.015em}.timeline-company{margin:.2rem 0 0;font-size:.875rem;font-weight:500;color:var(--text-muted)}.timeline-item ul{margin:0;padding-left:0;list-style:none;color:var(--text-muted)}.timeline-item li{position:relative;padding-left:1.25rem;margin-bottom:.5rem;font-size:.875rem;line-height:1.75}.timeline-item li:before{content:"•";position:absolute;left:0;color:var(--primary);opacity:.5}.timeline-item li:last-child{margin-bottom:0}.card-grid{display:flex;flex-direction:column;gap:1rem}.card{padding:1.5rem 2rem;background:var(--glass-bg);backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.card h3{margin:0;font-size:1rem;font-weight:600}.card-period{font-size:.75rem;font-weight:500;color:var(--text-subtle)}.card-subtitle{margin:.35rem 0 0;font-size:.875rem;color:var(--text-muted)}.card-detail{margin:.5rem 0 0;font-size:.875rem;color:var(--text-muted)}.cert-grid{display:flex;flex-direction:column;gap:1rem}.cert-card{padding:1.75rem 2rem;background:var(--glass-bg);backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border:1px solid var(--border);border-left:3px solid var(--emerald);border-radius:0 var(--radius) var(--radius) 0;box-shadow:var(--shadow-sm);transition:border-color var(--transition),background var(--transition),box-shadow var(--transition),transform var(--transition)}.cert-card:hover{border-color:#10b98133;border-left-color:var(--emerald);background:var(--surface);box-shadow:var(--shadow-md),-4px 0 20px -4px #10b98133;transform:translate(3px)}.cert-body{display:flex;align-items:flex-start;gap:1.5rem}.cert-content{flex:1;min-width:0}.cert-badge{width:96px;height:96px;flex-shrink:0;object-fit:contain;border-radius:8px}.cert-logo{flex-shrink:0}.cert-issuer-icon{width:16px;height:16px;flex-shrink:0;color:#f90;vertical-align:middle;margin-right:.3rem;position:relative;top:-1px}.cert-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.cert-card h3{margin:0;font-size:1.0625rem;font-weight:600}.cert-card h3 a{color:var(--text)}.cert-card h3 a:hover{color:var(--emerald)}.cert-date{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--emerald);background:var(--emerald-dim);padding:.25rem .65rem;border-radius:var(--radius-sm);white-space:nowrap}.cert-issuer{display:flex;align-items:center;margin:.5rem 0 0;font-size:.875rem;color:var(--text-muted)}.cert-meta{margin:.5rem 0 0;font-size:.8125rem;color:var(--text-subtle)}.cert-verify{margin:1rem 0 0;font-size:.875rem;font-weight:500}.cert-verify a{color:var(--emerald)}.cert-verify a:hover{opacity:.8}.project-grid{display:flex;flex-direction:column;gap:1.25rem}.project-card{padding:2rem;background:var(--glass-bg);backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:border-color var(--transition),background var(--transition),box-shadow var(--transition),transform var(--transition)}.project-card:hover{border-color:var(--border-hover);background:var(--surface);box-shadow:var(--shadow-md);transform:translateY(-3px)}.project-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.75rem}.project-card h3{margin:0;font-size:1rem;font-weight:600}.project-card h3 a{color:var(--text)}.project-card h3 a:hover{color:var(--primary)}.project-tech{display:flex;flex-wrap:wrap;gap:.4rem}.project-tech span{font-size:.6875rem;font-weight:500;color:var(--cyan);padding:.2rem .55rem;background:var(--cyan-dim);border-radius:var(--radius-sm);letter-spacing:.01em}.project-card p{margin:0;font-size:.875rem;color:var(--text-muted);line-height:1.8}.section-contact{text-align:center;padding-bottom:3rem}.contact-body{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start;text-align:left}.contact-aside{display:flex;flex-direction:column;gap:1.5rem}.contact-lead{margin:0;color:var(--text-muted);font-size:.9375rem;line-height:1.7}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.terminal{border:1px solid #334155;border-radius:var(--radius-lg, 14px);overflow:hidden;background:#0d1117;box-shadow:var(--shadow-md);font-family:SF Mono,Fira Code,Cascadia Code,ui-monospace,monospace}.terminal-bar{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;background:#161b22;border-bottom:1px solid #334155}.terminal-lights{display:flex;gap:.4rem;flex-shrink:0}.tl{display:block;width:12px;height:12px;border-radius:50%}.tl-red{background:#ff5f57}.tl-yellow{background:#febc2e}.tl-green{background:#28c840}.terminal-title{flex:1;text-align:center;font-size:.75rem;color:#64748b;letter-spacing:.02em}.terminal-screen{padding:1.25rem 1.5rem 1.5rem;font-size:.8125rem;line-height:1.8;color:#94a3b8}.tl-line{margin:0;display:flex;align-items:baseline;gap:.35rem}.tl-out{margin:0;padding-left:1.25rem}.tl-spacer{margin:0;height:.75rem}.tl-prompt{color:#38bdf8;font-weight:600;-webkit-user-select:none;user-select:none}.tl-prompt:before{content:"❯"}.tl-cmd{color:#e2e8f0}.tl-key{color:#7dd3fc;display:inline-block;min-width:6.5rem}.tl-dim{color:#475569}.tl-success{color:#4ade80}.tl-cursor{display:inline-block;color:#38bdf8;animation:blink 1.1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.contact-card{display:flex;flex-direction:column;gap:.4rem;padding:1.5rem 1.75rem;background:var(--glass-bg);backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--text);transition:border-color var(--transition),background var(--transition),box-shadow var(--transition),transform var(--transition)}.contact-card:hover{border-color:var(--primary-dim);background:var(--surface);box-shadow:var(--shadow-md),0 0 24px -4px var(--primary-glow);transform:translateY(-3px);color:var(--text)}.contact-icon{width:20px;height:20px;flex-shrink:0;color:var(--primary);margin-bottom:.25rem}.contact-card-label{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}.contact-card-value{font-size:.875rem;font-weight:500;color:var(--text-muted)}.contact-card:hover .contact-card-value{color:var(--text)}.contact-card-desc{font-size:.8rem;color:var(--text-subtle, var(--text-muted));opacity:.7;margin-top:.1rem}.contact-card--static{cursor:default;pointer-events:none}.contact-card--static:hover{transform:none;box-shadow:var(--shadow-sm);border-color:var(--border);background:var(--glass-bg)}.site-footer{padding:2.5rem 1.5rem;text-align:center;border-top:1px solid var(--border)}.site-footer p{margin:0;font-size:.8125rem;color:var(--text-subtle)}@media(max-width:640px){.nav-toggle{display:flex}.nav-links{position:fixed;top:var(--header-height);left:0;right:0;flex-direction:column;gap:0;padding:.5rem;background:var(--bg-header);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border);transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform .25s ease,opacity .25s ease,visibility .25s}.nav-links.is-open{transform:translateY(0);opacity:1;visibility:visible}.nav-links a{padding:.75rem 1rem}.hero{padding:4.5rem 0 3.5rem}.hero-inner{flex-direction:column-reverse;align-items:center;gap:2rem;text-align:center}.hero-photo{width:8rem;height:8rem}.hero-badge{margin:0 auto 1.5rem}.hero-tagline{max-width:none}.hero-actions{justify-content:center}.hero-stats{gap:1.25rem 2rem}.section{padding:4.5rem 0}.section-title{font-size:1.5rem}.skills-groups{grid-template-columns:1fr}.timeline-header{flex-direction:column;gap:.4rem}.timeline-meta{align-items:flex-start;text-align:left}.timeline-item:hover,.cert-card:hover{transform:none}.contact-body{grid-template-columns:1fr}.terminal{font-size:.75rem}}@media print{.site-header,.hero-actions,.hero-badge,.nav-toggle,.skip-link{display:none}body{background:#fff;color:#000}body:before,body:after{display:none}.hero-name{background:none;-webkit-text-fill-color:black;color:#000}.section-label{background:none;-webkit-text-fill-color:var(--primary);color:var(--primary)}.section{break-inside:avoid;border-color:#ddd}a{color:#000;text-decoration:underline}}
