*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--font-mono: "DM Mono", monospace;--bg: #080808;--bg2: #0e0e0c;--bg3: #141412;--surface: #1a1917;--ink: #e8e4dc;--ink-soft: #9a9488;--ink-muted: #5c584f;--accent: #c45d3e;--accent-warm: #d4845a;--accent-gold: #c49a4c;--accent-cool: #3a6b5e;--rule: rgba(232,228,220,.08);--rule2: rgba(232,228,220,.14);--tag-border: rgba(232,228,220,.1)}[data-theme=light]{--bg: #f5f2ec;--bg2: #eae6de;--bg3: #ddd8cf;--surface: #fff;--ink: #1a1917;--ink-soft: #5c584f;--ink-muted: #9a9488;--accent: #c45d3e;--accent-warm: #d4845a;--accent-gold: #8a6e2e;--accent-cool: #2a5a4e;--rule: rgba(26,25,23,.08);--rule2: rgba(26,25,23,.14);--tag-border: rgba(26,25,23,.1)}[data-theme=light] .section-number{color:#1a191714}html{scroll-behavior:smooth;font-size:18px}body{font-family:var(--font-display);background:var(--bg);color:var(--ink);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--bg)}body:after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:9999}[data-theme=light] body:after{opacity:.02}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--accent)}#progress{position:fixed;top:0;left:0;height:2px;background:var(--accent);z-index:9998;width:0;transition:width .1s}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;background:#080808eb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:all .4s ease}nav.scrolled{border-color:var(--rule)}nav.hidden{transform:translateY(-100%)}.nav-logo{font-family:var(--font-mono);font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-muted);text-decoration:none;transition:color .3s}.nav-logo:hover{color:var(--accent)}.nav-links{display:flex;gap:2.5rem;list-style:none}.nav-links a{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);text-decoration:none;position:relative;transition:color .3s}.nav-links a:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--accent);transition:width .3s}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after{width:100%}.nav-hamburger{display:none;flex-direction:column;gap:6px;cursor:pointer;background:none;border:none;padding:4px}.nav-hamburger span{width:24px;height:2px;background:var(--ink-muted);transition:all .3s}.theme-toggle{font-size:1rem;background:none;border:1px solid var(--rule2);padding:.4rem .6rem;cursor:pointer;color:var(--ink-muted);transition:all .3s;border-radius:2px}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding:10rem 3rem 5rem;gap:5rem;align-items:center;position:relative;border-bottom:1px solid var(--rule);overflow:hidden}.hero-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.08;pointer-events:none;animation:drift 20s ease-in-out infinite alternate}.hero-orb:nth-child(1){width:500px;height:500px;background:var(--accent);top:-15%;left:-5%}.hero-orb:nth-child(2){width:400px;height:400px;background:var(--accent-cool);bottom:-10%;right:-5%;animation-delay:-7s}.hero-orb:nth-child(3){width:300px;height:300px;background:var(--accent-gold);top:30%;right:20%;animation-delay:-13s}@keyframes drift{0%{transform:translate(0) scale(1)}50%{transform:translate(40px,30px) scale(1.05)}to{transform:translate(-20px,50px) scale(.95)}}.hero-left{animation:fadeUp .8s ease forwards}.hero-right{animation:fadeUp .8s .2s ease forwards;opacity:0}.hero-eyebrow{font-family:var(--font-mono);font-size:.9rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:2rem;display:flex;align-items:center;gap:1.2rem}.hero-eyebrow:before{content:"";width:50px;height:1px;background:var(--accent)}.hero-title{font-family:var(--font-display);font-size:clamp(3.5rem,7vw,6.5rem);line-height:.9;letter-spacing:-.03em;margin-bottom:2.5rem;color:var(--ink)}.hero-title em{font-style:italic;color:var(--accent)}.hero-subtitle{font-family:var(--font-body);font-size:1.35rem;max-width:42ch;line-height:1.85;margin-bottom:3rem}.hero-cta{display:inline-flex;align-items:center;gap:.9rem;font-family:var(--font-mono);font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:1.2rem 0;border-bottom:1px solid var(--rule2);transition:all .3s}.hero-cta:hover{border-color:var(--accent);color:var(--accent);gap:1.4rem}.hero-cta svg{width:16px;height:16px;transition:transform .3s}.hero-cta:hover svg{transform:translate(4px)}.hero-card{background:var(--surface);border:1px solid var(--rule);padding:3rem;position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;top:-50%;right:-30%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(196,93,62,.08) 0%,transparent 70%);pointer-events:none}.hero-card-label{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:2rem}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.stat-number{font-family:var(--font-display);font-size:3.2rem;line-height:1;color:var(--ink);margin-bottom:.3rem}.stat-number span{color:var(--accent)}.stat-label{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);line-height:1.5}.hero-tags{margin-top:2.5rem;padding-top:1.8rem;border-top:1px solid var(--rule);display:flex;gap:.6rem;flex-wrap:wrap}.hero-tag{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.06em;padding:.45rem .85rem;border:1px solid var(--tag-border);color:var(--ink-muted);transition:all .3s}.hero-tag:hover{border-color:var(--accent);color:var(--accent-warm)}.marquee-wrap{overflow:hidden;padding:1.2rem 0;border-bottom:1px solid var(--rule);background:var(--bg2)}.marquee{display:flex;gap:3.5rem;animation:scroll 40s linear infinite;width:max-content}.marquee span{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap}section{padding:7rem 3rem;border-bottom:1px solid var(--rule)}.section-header{display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:end;margin-bottom:4.5rem}.section-number{font-family:var(--font-display);font-size:4rem;line-height:1;color:#e8e4dc1f;letter-spacing:-.03em}.section-title{font-family:var(--font-display);font-size:clamp(2.4rem,4.5vw,3.8rem);line-height:1;letter-spacing:-.02em}.section-title em{font-style:italic;color:var(--accent)}.section-label{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10.5rem}.about-meta-row{display:flex;flex-wrap:wrap;gap:2.5rem;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--rule)}.about-meta-item{display:flex;gap:.5rem;align-items:baseline}.about-meta-item .a-key{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-gold)}.about-meta-item .a-key:after{content:":"}.about-meta-item .a-val{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;color:var(--ink-soft)}.about-body-and-quote{display:grid;grid-template-columns:1fr auto 1fr;gap:3.5rem;align-items:start}.about-body{font-family:var(--font-body);font-size:1.3rem;line-height:2;color:var(--ink-soft)}.about-body p{margin-bottom:1.4rem}.about-body p:last-child{margin-bottom:0}.about-body strong{color:var(--ink);font-weight:400}.about-divider{width:1px;min-height:100%;background:var(--accent-cool);align-self:stretch}.about-pull{font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.6rem);font-style:italic;line-height:1.6;color:var(--accent);padding-top:.5rem}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule);border-bottom:none}.skill-cell{padding:2.5rem 2rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background .3s}.skill-cell:hover{background:var(--bg2)}.skill-cell:nth-child(3n){border-right:none}.skill-cat{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-gold);margin-bottom:1.2rem;display:flex;align-items:center;gap:.7rem}.skill-cat:before{content:"";width:1rem;height:1px;background:var(--accent-gold)}.skill-items{display:flex;flex-wrap:wrap;gap:.45rem}.skill-item{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.04em;padding:.35rem .75rem;border:1px solid var(--tag-border);color:var(--ink-muted);transition:all .25s;cursor:default}.skill-item:hover,.skill-item.hot{border-color:#c45d3e66;color:var(--accent)}.exp-list{padding-top:0}.exp-row{display:grid;grid-template-columns:2.5rem 1fr;gap:2.5rem;padding:2rem 0;position:relative;transition:background .3s}.exp-row:hover{background:#c45d3e04}.exp-row:first-child{padding-top:0}.exp-row:last-child{padding-bottom:0}.exp-timeline{display:flex;flex-direction:column;align-items:center;padding-top:.3rem}.exp-tl-dot{width:9px;height:9px;border-radius:50%;background:var(--ink-muted);flex-shrink:0;position:relative;z-index:1;transition:all .3s}.exp-row:hover .exp-tl-dot{background:var(--accent);box-shadow:0 0 12px #c45d3e4d}.exp-tl-line{width:1px;flex:1;background:linear-gradient(to bottom,var(--rule2),transparent);margin-top:.5rem}.exp-content{border:1px solid var(--rule);padding:1rem 1.5rem;position:relative;transition:all .4s cubic-bezier(.16,1,.3,1)}.exp-content:before{content:"";position:absolute;top:0;left:0;width:2px;height:100%;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .5s cubic-bezier(.16,1,.3,1)}.exp-row:hover .exp-content:before{transform:scaleY(1)}.exp-row:hover .exp-content{border-color:var(--rule2);background:#c45d3e02}.exp-top-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.exp-meta-left{display:flex;flex-direction:column;gap:.3rem}.exp-live{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:#4db89ea6}.exp-live-dot{width:5px;height:5px;border-radius:50%;background:#4db89eb3;animation:pulse 2.2s ease-in-out infinite}.exp-date{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;color:var(--ink-muted)}.exp-badge{display:inline-block;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);border:1px solid var(--rule2);padding:.15rem .6rem}.exp-role{font-family:var(--font-display);font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:400;line-height:1.15;letter-spacing:-.02em;color:var(--ink);margin-bottom:.3rem}.exp-role em{font-style:italic;color:var(--accent)}.exp-co{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:1.3rem}.exp-bullets{list-style:none;display:flex;flex-direction:column;gap:.2rem}.exp-bullets li{font-family:var(--font-body);font-size:1.05rem;line-height:1.75;color:var(--ink-soft);padding-left:1.4rem;position:relative}.exp-bullets li:before{content:"—";position:absolute;left:0;top:.05rem;font-family:var(--font-mono);font-size:.6rem;color:var(--accent)}.exp-bullets li strong{color:var(--ink);font-weight:400}.exp-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--rule)}.exp-tag{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;padding:.22rem .55rem;border:1px solid var(--tag-border);color:var(--ink-muted);transition:all .25s}.exp-tag:hover{border-color:var(--accent);color:var(--accent)}.proj-tabs{display:flex;gap:0;margin-bottom:0}.proj-tab{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;padding:1rem 2rem;color:var(--ink-muted);cursor:pointer;border:1px solid var(--rule);border-bottom:none;background:transparent;transition:all .25s;margin-right:-1px}.proj-tab.active{color:var(--accent);border-color:var(--accent);border-bottom:1px solid var(--bg);background:var(--bg);position:relative;z-index:1}.proj-tab:hover:not(.active){color:var(--ink)}.proj-pane{display:none}.proj-pane.active{display:block}.proj-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--rule)}.proj-card{padding:3rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);position:relative;overflow:hidden;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:1.4rem;cursor:default}.proj-card:nth-child(2n){border-right:none}.proj-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1)}.proj-card:hover{background:var(--bg2);transform:translateY(-3px)}.proj-card:hover:before{transform:scaleX(1)}.proj-num{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-muted)}.proj-title{font-family:var(--font-display);font-size:clamp(1.35rem,2vw,1.8rem);font-weight:400;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}.proj-title em{font-style:italic;color:var(--accent)}.proj-desc{font-family:var(--font-body);font-size:1.15rem;line-height:1.9;color:var(--ink-soft);flex:1}.proj-impact{font-family:var(--font-mono);font-size:.9rem;color:var(--accent-cool);padding:.8rem 1.2rem;background:#3a6b5e0d;border-left:2px solid var(--accent-cool);line-height:1.7}.proj-tags{display:flex;flex-wrap:wrap;gap:.4rem}.proj-tag{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;padding:.3rem .65rem;border:1px solid var(--tag-border);color:var(--ink-muted);transition:all .25s}.proj-tag:hover{border-color:var(--accent-gold);color:var(--accent-gold)}.proj-foot{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--rule)}.proj-cat{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.proj-expand{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);cursor:pointer;background:none;border:none;transition:all .3s;display:flex;align-items:center;gap:.5rem}.proj-expand:hover{gap:.8rem}.loading-cell{grid-column:1 / -1;padding:3.5rem;text-align:center}.spinner{width:24px;height:24px;border:2px solid var(--rule2);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto .9rem}.loading-text{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}.cs-overlay{position:fixed;inset:0;background:#040404e6;z-index:500;opacity:0;pointer-events:none;transition:opacity .35s;backdrop-filter:blur(8px)}.cs-overlay.open{opacity:1;pointer-events:all}.cs-modal{position:fixed;top:0;right:0;bottom:0;width:min(850px,100vw);background:var(--bg2);z-index:501;transform:translate(100%);transition:transform .45s cubic-bezier(.22,1,.36,1);overflow-y:auto;border-left:1px solid var(--rule2)}.cs-modal.open{transform:translate(0)}.cs-head{position:sticky;top:0;background:#0e0e0cf5;backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);padding:1.4rem 2.8rem;display:flex;align-items:center;justify-content:space-between;z-index:10}.cs-close{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);cursor:pointer;background:none;border:none;transition:color .3s;display:flex;align-items:center;gap:.6rem}.cs-close:hover{color:var(--accent)}.cs-badge{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.cs-body{padding:3.5rem 2.8rem 5.5rem;max-width:720px;margin:0 auto}.cs-meta{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:1.2rem}.cs-title{font-family:var(--font-display);font-size:clamp(1.9rem,3.5vw,2.8rem);font-weight:400;line-height:1.2;letter-spacing:-.02em;color:var(--ink);margin-bottom:2.5rem}.cs-section{margin-bottom:3rem}.cs-section h3{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--ink);margin-bottom:1.2rem;line-height:1.3}.cs-section p,.cs-section li{font-family:var(--font-body);font-size:1.2rem;line-height:1.95;color:var(--ink-soft);margin-bottom:.9rem}.cs-section strong{color:var(--ink);font-weight:400}.cs-section ul{margin-left:1.4rem;margin-bottom:1.2rem}.cs-section li::marker{color:var(--accent)}.cs-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:1.8rem 0}.cs-metric{padding:1.4rem;border:1px solid var(--rule);text-align:center}.cs-metric-num{font-family:var(--font-display);font-size:2.3rem;color:var(--accent);line-height:1;margin-bottom:.4rem}.cs-metric-label{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.cs-timeline{position:relative;padding-left:2.3rem;margin:1.8rem 0}.cs-timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--rule2)}.cs-tl-item{position:relative;margin-bottom:1.8rem}.cs-tl-item:before{content:"";position:absolute;left:-2.3rem;top:.7rem;width:8px;height:8px;border-radius:50%;background:var(--accent);border:2px solid var(--bg2)}.cs-tl-phase{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.4rem}.cs-tl-desc{font-family:var(--font-body);font-size:1.15rem;color:var(--ink-soft);line-height:1.85}.cs-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.8rem}.cs-tags span{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;padding:.3rem .65rem;border:1px solid var(--tag-border);color:var(--ink-muted)}.cs-divider{border:none;border-top:1px solid var(--rule);margin:2.5rem 0}.blog-header{display:flex;justify-content:flex-end;margin-bottom:2.5rem;margin-top:-2.5rem}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--rule);border-top:none}.blog-card{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:all .35s;display:flex;flex-direction:column;cursor:pointer;position:relative;overflow:hidden}.blog-card:nth-child(3n){border-right:none}.blog-card:after{content:"→";position:absolute;bottom:1.4rem;right:1.4rem;font-family:var(--font-mono);font-size:1rem;color:var(--ink-muted);transition:all .3s}.blog-card:hover{background:var(--bg2)}.blog-card:hover:after{color:var(--accent);transform:translate(3px)}.bc-thumb{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--bg3)}.bc-thumb img{width:100%;height:100%;object-fit:cover;opacity:.5;transition:all .4s}.blog-card:hover .bc-thumb img{opacity:.75;transform:scale(1.03)}.bc-ph{width:100%;aspect-ratio:16/9;background:var(--bg3);display:flex;align-items:center;justify-content:center}.bc-ph span{font-family:var(--font-display);font-size:3rem;color:transparent;-webkit-text-stroke:1px var(--rule)}.bc-body{padding:1.8rem;flex:1;display:flex;flex-direction:column}.bc-cat{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.7rem}.bc-title{font-family:var(--font-display);font-size:1.3rem;font-weight:400;line-height:1.4;color:var(--ink);margin-bottom:.6rem}.bc-excerpt{font-family:var(--font-body);font-size:1.05rem;line-height:1.8;color:var(--ink-muted);flex:1}.bc-foot{padding:1rem 1.8rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}.bc-date{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;color:var(--ink-muted)}.bc-read{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.drawer-overlay{position:fixed;inset:0;background:#04040480;z-index:600;opacity:0;visibility:hidden;transition:all .35s;backdrop-filter:blur(4px)}.drawer-overlay.open{opacity:1;visibility:visible}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(750px,90vw);background:var(--bg2);z-index:601;transform:translate(100%);transition:transform .4s cubic-bezier(.22,1,.36,1);overflow-y:auto;border-left:1px solid var(--rule2)}.drawer.open{transform:translate(0)}.drawer-head{position:sticky;top:0;background:#0e0e0cf5;backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);padding:1.4rem 2.3rem;display:flex;justify-content:space-between;align-items:center;z-index:10}.drawer-head span{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}.drawer-close{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);cursor:pointer;background:none;border:1px solid var(--rule);padding:.55rem 1.1rem;transition:all .3s}.drawer-close:hover{border-color:var(--accent);color:var(--accent)}.drawer-body{padding:3rem 2.3rem 4.5rem;max-width:620px;margin:0 auto}.drawer-cat{font-family:var(--font-mono);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem}.drawer-title{font-family:var(--font-display);font-size:2.3rem;line-height:1.2;letter-spacing:-.02em;color:var(--ink);margin-bottom:.9rem}.drawer-date{font-family:var(--font-mono);font-size:.85rem;color:var(--ink-muted);margin-bottom:2.5rem;padding-bottom:1.8rem;border-bottom:1px solid var(--rule)}.drawer-content{font-family:var(--font-body);font-size:1.25rem;line-height:1.95;color:var(--ink-soft)}.drawer-content p{margin-bottom:1.4rem}.drawer-content img{max-width:100%;margin:1.8rem 0}.drawer-content a{color:var(--accent);text-decoration:underline}.drawer-external{display:inline-flex;align-items:center;gap:.6rem;margin-top:2.5rem;font-family:var(--font-mono);font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:.4rem;transition:gap .3s}.drawer-external:hover{gap:1rem}.resume-simple{max-width:600px}.resume-desc{font-family:var(--font-body);font-size:1.15rem;line-height:1.9;color:var(--ink-soft);margin-bottom:1rem}.resume-actions{display:flex;gap:.75rem;align-items:center}.btn-outline{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;padding:.7rem 1.5rem;border:1px solid var(--rule);color:var(--ink-muted);background:transparent;text-decoration:none;cursor:pointer;transition:all .3s}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-filled{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;padding:.7rem 1.5rem;border:1px solid var(--accent);background:var(--accent);color:var(--bg);cursor:pointer;text-decoration:none;transition:all .3s;border-radius:0}.btn-filled:hover{background:var(--accent-warm);border-color:var(--accent-warm)}.download-dropdown{display:flex;position:relative}.download-dropdown .btn-filled{border-right:none}.download-toggle{font-family:var(--font-mono);font-size:.72rem;padding:.7rem .8rem;border:1px solid var(--accent);background:var(--accent);color:var(--bg);cursor:pointer;transition:all .3s;line-height:1}.download-toggle:hover{background:var(--accent-warm);border-color:var(--accent-warm)}.download-menu{position:absolute;top:calc(100% + 4px);left:0;background:var(--surface);border:1px solid var(--rule2);min-width:160px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .25s ease;z-index:50}.download-dropdown.open .download-menu{opacity:1;visibility:visible;transform:translateY(0)}.download-item{display:flex;align-items:center;gap:.6rem;padding:.65rem 1rem;text-decoration:none;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);transition:all .2s}.download-item:hover{background:var(--bg2);color:var(--accent)}.download-item svg{width:16px;height:16px;stroke:currentColor;flex-shrink:0}.download-item+.download-item{border-top:1px solid var(--rule)}.rs-title{font-family:var(--font-display);font-size:1.3rem;color:var(--ink);margin-bottom:1.4rem;padding-bottom:.7rem;border-bottom:1px solid var(--rule)}.skill-bar-row{margin-bottom:.7rem}.skill-bar-top{display:flex;justify-content:space-between;margin-bottom:.35rem}.skill-bar-name{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;color:var(--ink-soft)}.skill-bar-pct{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-muted)}.skill-bar-track{height:2px;background:var(--rule2)}.skill-bar-fill{height:100%;background:var(--accent);transition:width 1s ease}.rs-section{margin-bottom:2.5rem}.edu-item{padding:.65rem 0;border-bottom:1px solid var(--rule)}.edu-item:last-child{border-bottom:none}.edu-deg{font-family:var(--font-body);font-size:1.1rem;color:var(--ink)}.edu-school{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;color:var(--ink-muted);margin-top:.2rem}.cert-item{padding:.65rem 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}.cert-item:last-child{border-bottom:none}.cert-name{font-family:var(--font-body);font-size:1.05rem;color:var(--ink)}.cert-link{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;color:var(--accent);text-decoration:none}.cert-link:hover{text-decoration:underline}.lang-item{font-family:var(--font-mono);font-size:.85rem;color:var(--ink-soft);padding:.45rem 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between}.lang-item:last-child{border-bottom:none}.lang-lv{color:var(--ink-muted)}.re-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.3rem;gap:1.2rem}.re-role{font-family:var(--font-display);font-size:1.25rem;color:var(--ink)}.re-dates{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;color:var(--ink-muted);white-space:nowrap}.re-company{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.7rem}.re-bullets{list-style:none}.re-bullets li{font-family:var(--font-body);font-size:1.1rem;line-height:1.8;color:var(--ink-soft);padding-left:1.2rem;position:relative;margin-bottom:.45rem}.re-bullets li:before{content:"·";position:absolute;left:0;color:var(--accent);font-size:1.1rem;line-height:1.5}.re-bullets li strong{color:var(--ink);font-weight:400}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--rule)}.contact-left{padding:3rem 2.5rem;border-right:1px solid var(--rule);display:flex;flex-direction:column;justify-content:flex-end}.contact-right{padding:3rem 2.5rem;display:flex;flex-direction:column;justify-content:center}.c-heading{font-family:var(--font-display);font-size:clamp(2.2rem,5.5vw,5.5rem);font-weight:400;line-height:.88;letter-spacing:-.035em;margin-bottom:1.5rem}.c-heading em{font-style:italic;color:var(--accent);display:block}.c-sub{font-family:var(--font-body);font-size:1.05rem;color:var(--ink-muted);line-height:1.75;max-width:30ch;font-style:italic;white-space:nowrap}.c-link{display:flex;align-items:center;gap:.8rem;padding:.8rem 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);transition:all .3s}.c-link:first-child{border-top:1px solid var(--rule)}.c-link:hover{padding-left:.3rem}.c-link:hover .c-arrow{transform:translate(0);opacity:1}.c-link:hover .c-val{color:var(--ink)}.c-link:hover .c-icon svg{stroke:var(--accent);color:var(--accent)}.c-icon{width:1.2rem;height:1.2rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.c-icon svg{width:100%;height:100%;stroke:var(--ink-muted);color:var(--ink-muted);transition:all .3s}.c-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:.05rem}.c-val{font-family:var(--font-body);font-size:.95rem;color:var(--ink-soft);transition:color .25s}.c-arrow{font-size:.8rem;color:var(--accent);transform:translate(-5px);opacity:.25;transition:all .3s;margin-left:auto}footer{padding:2rem 3rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}.ft{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.ft-links{display:flex;gap:2rem}.ft-links a{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);text-decoration:none;transition:color .3s}.ach-section{padding:7rem 3rem;border-bottom:1px solid var(--rule)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.ach-card{background:var(--surface);border:1px solid var(--rule);padding:1.5rem;position:relative;overflow:hidden;transition:all .3s ease}.ach-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.ach-card:nth-child(1):before{background:linear-gradient(90deg,var(--accent),var(--accent-warm))}.ach-card:nth-child(2):before{background:linear-gradient(90deg,var(--accent-cool),var(--accent))}.ach-card:nth-child(3):before{background:linear-gradient(90deg,var(--accent-gold),var(--accent))}.ach-card:nth-child(4):before{background:linear-gradient(90deg,var(--accent-cool),var(--accent-gold))}.ach-card:hover{transform:translateY(-3px);border-color:var(--rule2);box-shadow:0 8px 30px #0000004d}.ach-icon{font-size:1.8rem;margin-bottom:.75rem}.ach-title{font-size:.95rem;font-weight:600;margin-bottom:.5rem}.ach-desc{font-size:.8rem;color:var(--ink-muted);line-height:1.5}.reveal{opacity:0;transform:translateY(20px);transition:all .5s ease}.reveal.visible{opacity:1;transform:translateY(0)}.ft-links a:hover{color:var(--accent)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.2}}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}.skills-section{padding:7rem 3rem;border-bottom:1px solid var(--rule)}.skill-network-wrapper{position:relative}#skill-network{width:100%;height:550px;background:var(--surface);border:1px solid var(--rule2);overflow:hidden;position:relative}#skill-network svg{width:100%;height:100%}.node-person{cursor:default}.node-category,.node-skill{cursor:pointer}.link-line{stroke:var(--ink-muted);stroke-width:1;opacity:.15}.link-line.highlighted{stroke:var(--ink-soft);stroke-width:1.5;opacity:.4}.node-label{fill:var(--ink);font-family:var(--mono);pointer-events:none;text-anchor:middle}.node-label.label-person{font-size:13px;font-weight:500;fill:var(--ink)}.node-label.label-cat{font-size:11px;font-weight:500;letter-spacing:.03em;fill:var(--ink)}.node-label.label-skill{font-size:9px;fill:var(--ink-muted)}.network-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.5rem}.legend-item{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mermaid-wrapper{background:var(--bg3);border:1px solid var(--rule);padding:2rem;margin:1.5rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.mermaid-wrapper svg{width:100%;max-width:100%;height:auto}.mermaid-wrapper .node rect,.mermaid-wrapper .node polygon{fill:var(--surface)!important;stroke:var(--accent)!important}.mermaid-wrapper .node .label{color:var(--ink)!important;font-family:var(--mono)!important}.mermaid-wrapper .edgePath .path{stroke:var(--ink-muted)!important}.mermaid-wrapper .edgeLabel{color:var(--ink-soft)!important;font-family:var(--mono)!important;font-size:.75rem!important}.mermaid-wrapper .cluster rect{fill:var(--bg2)!important;stroke:var(--rule2)!important}.mermaid-wrapper .cluster .label{color:var(--ink-soft)!important;font-family:var(--mono)!important}@media(max-width:1024px){nav{padding:1.25rem 2rem}.hero{grid-template-columns:1fr;min-height:auto;padding:7rem 2rem 4rem;gap:3rem}.hero-title{font-size:clamp(2.5rem,8vw,4rem)}.about-meta-row{gap:1.5rem}.about-body-and-quote{grid-template-columns:1fr;gap:2rem}.about-divider{width:100%;height:1px}.skills-grid{grid-template-columns:repeat(2,1fr)}.exp-row{gap:1.5rem}.exp-content{padding:1.5rem}.proj-grid{grid-template-columns:1fr}.proj-card{border-right:none}.blog-grid{grid-template-columns:repeat(2,1fr)}.blog-card:nth-child(3n){border-right:1px solid var(--rule)}.blog-card:nth-child(2n){border-right:none}.contact-grid{grid-template-columns:1fr}.contact-left{border-right:none;border-bottom:1px solid var(--rule);padding:3rem 2rem}.contact-right{padding:2.5rem 2rem}.cs-metric-grid{grid-template-columns:repeat(2,1fr)}.cs-body{padding:2rem 1.5rem 3rem}.cs-head{padding:1rem 1.5rem}.drawer-body{padding:2rem 1.5rem 3rem}section{padding:5rem 2rem}.section-header{margin-bottom:3rem}footer{padding:1.5rem 2rem}}@media(max-width:768px){nav{padding:1rem 1.5rem}.nav-links{display:none}.nav-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:2rem 1.5rem;border-bottom:1px solid var(--rule);gap:1.5rem}.nav-hamburger{display:flex}.hero{padding:6rem 1.5rem 3rem}.hero-title{font-size:clamp(2rem,10vw,3rem)}.hero-card{padding:1.5rem}.hero-stats{gap:1.2rem}.stat-number{font-size:2rem}section{padding:4rem 1.5rem}.section-number{font-size:2.5rem}.section-title{font-size:clamp(1.6rem,6vw,2.2rem)}.section-header{gap:1rem;margin-bottom:2.5rem}.about-meta-row{flex-direction:column;gap:0}.about-meta-item{padding:.5rem 0}.about-meta-item .a-key{min-width:6rem}.about-pull{font-size:1rem}.skills-grid{grid-template-columns:1fr}.skill-cell{border-right:none}.exp-row{grid-template-columns:1.5rem 1fr;gap:1rem;padding:1.5rem 0}.exp-tl-dot{width:7px;height:7px}.exp-content{padding:1.2rem}.exp-role{font-size:1.2rem}.exp-bullets li{font-size:.95rem}.exp-top-row{flex-direction:column;gap:.5rem}.proj-grid{grid-template-columns:1fr}.proj-card{padding:1.5rem}.blog-grid{grid-template-columns:1fr}.blog-card:nth-child(n){border-right:none}.contact-grid{grid-template-columns:1fr}.contact-left{padding:3rem 1.5rem;border-right:none;border-bottom:1px solid var(--rule)}.contact-right{padding:2rem 1.5rem}.c-heading{font-size:clamp(2rem,12vw,3.5rem)}.c-sub{max-width:none;white-space:normal}.cs-metric-grid{grid-template-columns:1fr}.cs-modal{width:100vw}.cs-body{padding:1.5rem 1rem 3rem}.cs-head{padding:1rem}.drawer{width:100vw}.drawer-body{padding:1.5rem 1rem 3rem}.resume-desc{white-space:normal}.resume-actions{flex-direction:column}.resume-actions .btn-outline{text-align:center}.download-dropdown .btn-filled{width:100%;text-align:center}footer{flex-direction:column;gap:1rem;text-align:center;padding:1.5rem}.ft-links{flex-wrap:wrap;justify-content:center;gap:1rem}.marquee span{font-size:.6rem}.download-dropdown{width:100%}.download-dropdown .btn-filled{flex:1;text-align:center}#skill-network{height:400px}.skills-section{padding:4rem 1.5rem}}@media(max-width:480px){.hero-eyebrow{font-size:.65rem}.hero-title{font-size:clamp(1.8rem,12vw,2.5rem)}.hero-subtitle{font-size:1rem;white-space:normal}.hero-tags{gap:.3rem}.hero-tag{font-size:.6rem;padding:.25rem .5rem}.exp-bullets li{grid-template-columns:1rem 1fr;font-size:.9rem}.exp-tags{gap:.2rem}.exp-tag{font-size:.6rem;padding:.15rem .4rem}.skill-items{gap:.25rem}.skill-item{font-size:.65rem;padding:.2rem .4rem}.proj-title{font-size:1.1rem}.proj-desc{font-size:.9rem}.proj-tag{font-size:.6rem}.about-meta-item{flex-direction:column;gap:.1rem}.about-meta-item .a-key{min-width:auto}.c-link{padding:.6rem 0}.c-icon{width:1rem;height:1rem}.c-val{font-size:.85rem}.btn-filled,.btn-outline{font-size:.65rem;padding:.6rem 1rem}.download-toggle{padding:.6rem}.download-item{font-size:.65rem;padding:.5rem .8rem}.section-label,.drawer-cat{font-size:.65rem}.drawer-title{font-size:1.5rem}}@media print{nav,.hero,.marquee-wrap,.about,.skills-grid,.exp-list,.proj-grid,.proj-tabs,.blog-grid,.cs-overlay,.cs-modal,.drawer-overlay,.drawer,.contact-grid,footer,.section-header,.blog-header,.resume-actions,.theme-toggle,.download-dropdown,#progress{display:none!important}body{background:#fff!important;color:#111!important}body:after{display:none!important}section{padding:0!important;border:none!important}.resume-simple{max-width:none}}
