@font-face{font-family:Manrope;src:url("assets/fonts/manrope.ttf") format("truetype");font-weight:200 800;font-display:swap}@font-face{font-family:"IBM Plex Mono";src:url("assets/fonts/mono.ttf") format("truetype");font-weight:400;font-display:swap}
:root{--bg:#0c1011;--panel:#111718;--text:#edf1ee;--muted:#909c97;--line:#26302d;--accent:#c1f88a;--mono:"IBM Plex Mono",Consolas,monospace;--font:Manrope,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button svg,a svg{width:20px;height:20px;flex-shrink:0}::selection{background:var(--accent);color:var(--bg)}.section-shell{max-width:1440px;margin:0 auto;padding-left:clamp(24px,5vw,80px);padding-right:clamp(24px,5vw,80px)}.section-pad{padding-top:110px;padding-bottom:110px}.mono,.eyebrow{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:1.2px}.eyebrow{margin:0;line-height:1.6;display:flex;align-items:center;gap:10px}.accent{color:var(--accent)}.muted{color:var(--muted)}.live-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px #c1f88a38;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;left:20px;top:-80px;z-index:100;background:var(--accent);padding:12px 20px;color:var(--bg)}.skip-link:focus{top:15px}.reading-progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--accent);z-index:60}
.site-header{height:100px;position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,80px);border-bottom:1px solid #26302d9c;background:#0c1011e8;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:14px}.brand-mark{font-size:38px;font-weight:800;letter-spacing:-4px;line-height:1}.brand-mark span{color:var(--accent);font-size:28px;letter-spacing:0;margin-left:5px}.brand-name{font-size:9px;line-height:1.65;font-weight:700;letter-spacing:1.3px;border-left:1px solid var(--line);padding-left:16px}.main-nav{display:flex;gap:32px}.main-nav a{font-size:12px;color:#b3bdb7;transition:color .2s}.main-nav a:hover,.main-nav a.is-current{color:var(--accent)}.main-nav a span{margin-left:5px}.header-cv{display:flex;align-items:center;gap:12px;font-size:11px;border:1px solid #45513f;padding:11px 16px;border-radius:4px;transition:background .2s}.header-cv svg{width:15px;height:15px}.header-cv:hover{background:#c1f88a10;border-color:var(--accent)}.menu-button{display:none}
.hero{position:relative;display:grid;grid-template-columns:1.07fr 1fr;gap:25px;padding-top:65px;padding-bottom:0;overflow:hidden}.hero-copy{padding-top:10px;padding-bottom:40px;position:relative;z-index:2}.hero h1{font-size:clamp(50px,5.8vw,82px);font-weight:550;line-height:1.08;letter-spacing:-4.8px;margin:28px 0 26px}.hero h1>span{color:var(--accent)}.hero-intro{max-width:430px;font-size:14px;line-height:1.95;color:#a2aea7;margin:0}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;font-size:12px;font-weight:650;padding:14px 21px;border-radius:4px;transition:transform .2s,box-shadow .2s,background .2s}.button-primary{color:#14200c;background:var(--accent);box-shadow:0 0 0 0 #c1f88a00}.button-primary:hover{transform:translateY(-2px);box-shadow:0 5px 26px #c1f88a22;background:#d1ffab}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:13px;background:transparent;border:0;padding:0}.text-link:hover{color:var(--accent)}.location{display:flex;align-items:center;gap:8px;margin-top:35px;color:var(--muted);font-size:10px}.location svg{height:15px;width:15px}.location>span{margin:0 4px;color:#64716a}.hero-visual{align-self:center;border:1px solid var(--line);border-radius:7px;background:radial-gradient(ellipse at 50% 48%,#a5d07a08,transparent 60%),#101617;position:relative;margin:10px 0 40px}.visual-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #26302d75}.visual-heading .mono{font-size:9px;letter-spacing:1px}.visual-live{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:8px;letter-spacing:.8px;color:var(--muted)}.visual-live .live-dot{width:4px;height:4px}.network{position:relative;aspect-ratio:1.12;background-image:radial-gradient(#57665742 .7px,transparent .7px);background-size:20px 20px;isolation:isolate;overflow:hidden}.network-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.network-lines .orbit{fill:none;stroke:#596e4c22;stroke-width:1;stroke-dasharray:2 8;transform-origin:center;animation:orbit 100s linear infinite}.network-lines .orbit-inner{stroke:#a7cb8026;stroke-dasharray:3 10;animation-direction:reverse}.route{fill:none;stroke:#526c433f;stroke-width:1}.signal{fill:none;stroke:var(--accent);stroke-width:1.3;stroke-dasharray:3 155;opacity:.8;animation:flow 12s linear infinite}.network-radar{position:absolute;z-index:-1;left:50%;top:50%;width:63%;aspect-ratio:1;border:1px solid #8cac6a10;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 80px #c1f88a06}.network-node{position:absolute;left:var(--nx);top:var(--ny);transform:translate(-50%,-50%);width:65px;height:65px;display:flex;align-items:center;justify-content:center;border:1px solid #354134;border-radius:14px;background:linear-gradient(140deg,#202a26,#151c19);box-shadow:0 7px 22px #0005;transition:border-color .25s,box-shadow .25s,background .25s;z-index:2}.network-node:hover,.network-node:focus-visible{border-color:var(--accent);background:#263323;box-shadow:0 0 30px #c1f88a1a;z-index:4}.network-node img{object-fit:contain;width:32px;height:32px}.network-node>span{position:absolute;bottom:-23px;left:50%;transform:translateX(-50%);font-size:9px;color:#a4b0a9;white-space:nowrap;letter-spacing:.3px}.network-node:hover>span{color:var(--accent)}.network-node.node-core{width:79px;height:79px;border-color:#87a66b66;background:linear-gradient(150deg,#2c3b27,#182218);box-shadow:0 0 60px #c1f88a0c}.node-core img{width:35px;height:35px}.mono-logo{filter:brightness(0) invert(.9)}.network-coordinate{position:absolute;color:#62735a;font-size:8px;opacity:.65;writing-mode:vertical-rl}.coordinate-a{left:14px;top:20px}.coordinate-b{right:14px;bottom:20px}.visual-caption{padding:15px 20px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #26302d75;font-size:10px;color:#a4afa7}.caption-arrow{color:var(--accent);font-size:15px;margin-right:6px}#motion-toggle{background:transparent;border:1px solid var(--line);border-radius:3px;width:26px;height:26px;font-size:12px;color:var(--muted);display:grid;place-items:center}#motion-toggle:hover{border-color:var(--accent);color:var(--accent)}.motion-paused *{animation-play-state:paused!important}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:27px 0;border-top:1px solid var(--line);margin-top:5px}.hero-bottom>.mono{color:#78877d;font-size:9px;letter-spacing:1.6px}.scroll-hint{font-size:10px;color:#a5afa8;display:flex;align-items:center;gap:40px}.scroll-hint span{font-size:20px;color:var(--accent)}.specialties{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#121919}.specialties-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:24px;padding-bottom:24px;font-size:13px;font-weight:550;letter-spacing:3px;color:#bbc9bd}.specialty-star{color:var(--accent);font-size:24px;font-weight:400;line-height:1;opacity:.8}
.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px}.section-number{font-size:10px;color:var(--accent);letter-spacing:1.5px}.section-aside{font-size:8px;color:#758278;letter-spacing:1.4px}.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}h2{font-size:clamp(33px,3.2vw,46px);font-weight:500;line-height:1.2;letter-spacing:-1.8px;margin:0}.profile-copy>p{font-size:13px;line-height:1.95;color:#a6b1aa;margin:0 0 18px}.focus-list{margin-top:26px}.focus-list>div{display:flex;gap:20px;padding:19px 0;border-top:1px solid var(--line)}.focus-n{color:#63735b;font-size:9px;padding-top:3px}.focus-list p{margin:0}.focus-list strong{font-size:12px;font-weight:550;display:block}.focus-list p>span{display:block;color:#87958b;font-size:11px;line-height:1.8;max-width:350px;margin-top:4px}
.stack-section{background:#111718;border-block:1px solid var(--line);position:relative}.stack-title-row,.experience-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:38px}.stack-title-row>p,.experience-title-row>p{font-size:12px;line-height:1.9;color:#8f9e93;max-width:330px;margin:0 0 4px}.stack-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.stack-filters{display:flex;gap:7px;flex-wrap:wrap}.filter{font-size:10px;border:1px solid transparent;border-radius:4px;padding:9px 12px;color:#94a299;background:transparent;transition:background .2s,color .2s,border-color .2s}.filter.is-active{background:#c1f88a;color:#1a2714}.filter span{font-family:var(--mono);font-size:8px;margin-left:6px;opacity:.6}.filter:not(.is-active):hover{border-color:#5f7650;color:var(--text)}.search-box{display:flex;align-items:center;gap:10px;border-bottom:1px solid #465142;padding:7px 0;min-width:185px}.search-box svg{width:14px;height:14px;color:#7e907e}.search-box input{width:160px;border:0;color:var(--text);background:transparent;font-size:10px;outline:none;padding:5px 0;min-width:0}.search-box input::placeholder{color:#7e8c81}.tool-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.tool-card{text-align:left;display:flex;flex-direction:column;position:relative;min-height:168px;padding:22px 20px 17px;background:#151d1b;border:1px solid #2b362e;border-radius:5px;transition:background .25s,border-color .25s,transform .25s;overflow:hidden}.tool-card:hover{background:#1b291d;border-color:#8aaa68;transform:translateY(-3px)}.tool-card[hidden]{display:none}.tool-card-top{width:100%;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:21px}.tool-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center}.tool-icon img{width:34px;height:34px;object-fit:contain}.tool-plus{font-size:17px;line-height:1;color:#71806f;transition:color .2s,transform .2s}.tool-card:hover .tool-plus{color:var(--accent);transform:translate(2px,-2px)}.tool-name{font-size:14px;font-weight:600;line-height:1.4}.tool-label{color:#8b9a8e;font-size:9px;line-height:1.7;margin-top:4px;padding-right:9px}.tool-index{position:absolute;right:13px;bottom:14px;font-family:var(--mono);font-size:8px;color:#4a5b49}.stack-status{font-size:8px;letter-spacing:.5px;color:#7f8e80;margin:18px 0 0;min-height:18px}.empty-state{text-align:center;padding:50px 20px;color:var(--muted);font-size:13px}.empty-state .text-link{color:var(--accent)}[hidden]{display:none!important}
.experience-title-row{margin-bottom:44px}.timeline{border-top:1px solid #3a453a}.experience{border-bottom:1px solid var(--line)}.experience summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:220px 1fr 30px;gap:25px;padding:29px 0;align-items:start}.experience summary::-webkit-details-marker{display:none}.experience-date{font-size:10px;letter-spacing:.4px;color:#94a18f;padding-top:6px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.current-tag{color:var(--accent);font-size:7px;letter-spacing:1.5px;border:1px solid #c1f88a33;padding:2px 7px;border-radius:2px}.experience-main{display:flex;flex-direction:column;gap:7px}.experience-main strong{font-size:24px;font-weight:500;letter-spacing:-.6px}.experience-main>span{font-size:11px;color:#93a18f}.experience-toggle{font-size:24px;font-weight:300;line-height:1.5;color:#8f9e85;transition:transform .25s;display:inline-block;text-align:center}.experience[open] .experience-toggle{transform:rotate(45deg);color:var(--accent)}.experience summary:hover .experience-main strong{color:var(--accent)}.experience-body{padding:0 65px 32px 245px;max-width:1000px}.experience-body p,.experience-body li{font-size:12px;color:#a2afa0;line-height:1.95}.experience-body p{margin:0 0 16px}.experience-body ul{padding-left:16px;margin:0 0 20px}.experience-body li{padding-left:5px;margin-bottom:7px}.experience-body li::marker{color:#709256}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags span{border:1px solid #35412f;padding:4px 9px;border-radius:3px;font-size:8px;color:#a3b298;background:#9ac67605}
.education-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:20px;padding-bottom:100px}.education-heading .eyebrow{margin-bottom:28px}.education-heading h2{font-size:32px}.degree{padding-bottom:25px;border-bottom:1px solid var(--line)}.degree>.mono{color:#809074;font-size:9px}.degree h3{font-size:16px;line-height:1.65;font-weight:500;max-width:380px;margin:12px 0 8px}.degree p{color:#8b9c82;font-size:11px;margin:0}.certifications>div{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:19px 0}.cert-icon{font-size:27px;color:#b3d592;width:28px}.certifications strong{font-size:11px;font-weight:500;display:block}.certifications>div>span>span{color:#7d8c76;font-size:9px;display:block;margin-top:2px}
.contact-section{background:var(--accent);color:#14200e;position:relative;overflow:hidden}.contact-section:after{content:"↗";position:absolute;right:0;top:-120px;font-size:550px;line-height:1;color:#15200c05;pointer-events:none}.contact-inner{padding-top:65px;padding-bottom:45px;position:relative;z-index:1}.contact-section .section-number{color:#405b2a}.contact-section .section-aside{color:#4e6839}.contact-main{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-main h2{font-size:clamp(45px,6.5vw,88px);line-height:1.05;font-weight:550;letter-spacing:-4px}.contact-main h2>span{color:#618345}.contact-main p{font-size:12px;line-height:1.9;color:#3e562b;margin:23px 0 0}.contact-arrow{display:flex;align-items:center;justify-content:center;width:115px;height:115px;border-radius:50%;border:1px solid #23391550;transition:color .2s,background .2s,transform .2s;flex-shrink:0}.contact-arrow svg{width:56px;height:56px;transform:rotate(-45deg);stroke-width:1}.contact-arrow:hover{background:#14200e;color:var(--accent);transform:rotate(7deg)}.contact-links{display:flex;justify-content:space-between;align-items:center;margin-top:50px;padding-top:25px;border-top:1px solid #41632a44;gap:20px}.email-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.email-row>a{font-size:20px;letter-spacing:-.4px}.email-row>a:hover{text-decoration:underline;text-underline-offset:5px}#copy-email{background:transparent;border:1px solid #46612c55;width:30px;height:30px;display:grid;place-items:center;border-radius:3px;padding:6px}#copy-email svg{width:15px;height:15px}#copy-status{font-size:10px;color:#2b4b18}.contact-download{display:flex;align-items:center;gap:13px;font-size:11px}.contact-download svg{width:16px;height:16px}.contact-download:hover{text-decoration:underline}.contact-section :focus-visible{outline-color:#14200e}.site-footer{display:flex;align-items:center;gap:20px;min-height:100px;font-size:9px;color:#8d9b84}.footer-brand{font-size:26px;font-weight:700;letter-spacing:-1.5px;color:var(--text)}.footer-brand span{color:var(--accent);font-size:20px}.site-footer>a:last-child{margin-left:auto;color:#aebba2}.footer-role{margin-left:5px;color:#6c7c61}.site-footer>a:hover{color:var(--accent)}
.tool-dialog{background:#141c18;color:var(--text);border:1px solid #536647;border-radius:10px;padding:0;width:min(540px,calc(100vw - 32px));max-height:85vh;max-height:85dvh;box-shadow:0 30px 100px #0009;overflow:auto}.tool-dialog::backdrop{background:#050905b8;backdrop-filter:blur(6px)}.dialog-content{position:relative;padding:38px}.dialog-close{position:absolute;right:17px;top:13px;background:transparent;border:0;font-size:28px;color:#95a38d;line-height:1;padding:8px}.dialog-close:hover{color:var(--accent)}.dialog-content>.eyebrow{font-size:9px;color:var(--accent);padding-right:35px}.dialog-title-row{display:flex;align-items:center;gap:20px;margin:28px 0 23px}.dialog-logo{width:75px;height:75px;display:grid;place-items:center;border:1px solid var(--line);border-radius:15px;background:#1a261a}.dialog-logo img{width:45px;height:45px;object-fit:contain}.dialog-title-row h2{font-size:33px;overflow-wrap:anywhere}.dialog-description{font-size:14px;line-height:1.9;color:#b0bca8}.dialog-content h3{font-size:11px;margin-top:27px;font-weight:600}.dialog-content ul{padding-left:17px}.dialog-content li{color:#9aab8e;font-size:12px;line-height:1.8;margin-bottom:10px;padding-left:5px}.dialog-content li::marker{color:var(--accent)}.dialog-context{display:flex;gap:9px;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;font-size:9px;color:#92a283}.dialog-context .live-dot{width:4px;height:4px}.noscript-note{padding:20px;text-align:center;background:#26321d;color:#c9e7ae;font-size:12px}
@keyframes flow{to{stroke-dashoffset:-950}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes hero-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.hero-copy{animation:hero-in .8s ease-out both}.hero-visual{animation:hero-in 1s .12s ease-out both}
@media(min-width:1500px){.site-header{padding-inline:max(80px,calc((100vw - 1280px)/2))}.hero h1{font-size:82px}.hero{padding-top:80px}.hero-visual{margin-top:15px}}
@media(max-width:1100px){.brand-name{display:none}.main-nav{gap:24px}.hero h1{font-size:65px;letter-spacing:-3.5px}.hero{grid-template-columns:1.1fr 1fr;gap:30px;padding-top:45px}.hero-intro{font-size:12px}.hero-actions{gap:20px}.hero-actions .text-link{font-size:10px}.network-node{width:53px;height:53px;border-radius:11px}.network-node img{width:27px;height:27px}.network-node.node-core{width:65px;height:65px}.hero-visual{margin-top:30px}.visual-heading{padding:15px}.visual-heading .mono{font-size:8px}.visual-live{font-size:7px}.profile-layout,.education-section{gap:50px}.specialties-inner{font-size:10px;letter-spacing:2px}.tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.experience summary{grid-template-columns:170px 1fr 30px}.experience-body{padding-left:195px}.section-pad{padding-top:85px;padding-bottom:85px}.contact-main h2{font-size:70px}}
@media(max-width:800px){.site-header{height:78px}.brand-name{display:block}.main-nav{position:absolute;left:0;right:0;top:78px;background:#101713;border-bottom:1px solid var(--line);padding:24px;display:none;flex-direction:column;gap:0}.main-nav.is-open{display:flex}.main-nav a{font-size:15px;padding:12px}.header-cv{margin-left:auto;margin-right:20px;font-size:10px}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:5px;width:28px;height:34px;border:0;background:transparent;padding:2px}.menu-button span{height:1px;background:var(--text);width:24px;transition:transform .2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.hero{grid-template-columns:1fr 1fr;gap:25px;padding-top:40px}.hero h1{font-size:52px;letter-spacing:-3px}.hero-intro{font-size:11px;line-height:1.9}.eyebrow{font-size:8px;letter-spacing:.8px}.hero-actions{flex-wrap:wrap;gap:18px;margin-top:25px}.button{font-size:10px;gap:20px;padding:12px 17px}.location{font-size:8px;flex-wrap:wrap;margin-top:25px}.hero-visual{margin-top:45px}.visual-heading .mono{font-size:7px;letter-spacing:.4px}.visual-live{display:none}.network-node{width:45px;height:45px;border-radius:9px}.network-node img{width:23px;height:23px}.network-node.node-core{width:54px;height:54px}.network-node>span{font-size:7px;bottom:-18px}.visual-caption{font-size:8px;padding:12px}.profile-layout{grid-template-columns:1fr 1.1fr;gap:35px}.profile-layout h2{font-size:29px;letter-spacing:-1.2px}.profile-copy>p{font-size:12px}.stack-title-row h2,.experience-title-row h2{font-size:35px}.stack-title-row>p,.experience-title-row>p{font-size:10px}.stack-controls{flex-wrap:wrap}.search-box{margin-left:auto}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-card{min-height:160px}.experience summary{grid-template-columns:140px 1fr 25px;gap:20px}.experience-body{padding-left:160px;padding-right:30px}.experience-main strong{font-size:22px}.experience-main>span{font-size:10px}.education-section{gap:40px}.education-heading h2{font-size:27px}.degree h3{font-size:14px}.contact-main h2{font-size:58px;letter-spacing:-2.8px}.contact-arrow{width:85px;height:85px}.contact-arrow svg{width:42px;height:42px}.email-row>a{font-size:17px}.footer-role{display:none}.specialties-inner{gap:12px;letter-spacing:1.2px;font-size:9px}.specialty-star{font-size:20px}.section-aside{font-size:7px;letter-spacing:.9px}}
@media(max-width:600px){html{scroll-padding-top:95px}.section-shell{padding-inline:24px}.site-header{padding-inline:24px}.brand-mark{font-size:33px}.brand-name{font-size:7px;letter-spacing:.9px;padding-left:12px}.brand{gap:12px}.header-cv{border:0;padding:9px 0;font-size:0;gap:0;margin-right:22px}.header-cv svg{width:20px;height:20px}.hero{display:block;padding-top:35px}.hero-copy{padding:0}.hero .eyebrow{font-size:8px;letter-spacing:.9px}.hero h1{font-size:clamp(45px,11vw,64px);letter-spacing:-2.8px;margin-top:24px;margin-bottom:23px;line-height:1.08}.hero-intro{font-size:12px;max-width:365px;line-height:1.9}.hero-actions{gap:25px}.hero-actions .text-link{font-size:10px}.button{font-size:11px;padding:13px 18px}.location{font-size:9px;margin-top:27px}.hero-visual{max-width:460px;margin:32px auto}.visual-heading{padding:15px 17px}.visual-heading .mono{font-size:8px;letter-spacing:1px}.visual-live{display:flex;font-size:7px}.network{aspect-ratio:1.18}.network-node{width:55px;height:55px;border-radius:11px}.network-node img{width:29px;height:29px}.network-node.node-core{width:65px;height:65px}.network-node>span{font-size:8px;bottom:-20px}.visual-caption{font-size:9px;padding:13px 17px}.hero-bottom{padding:20px 0;margin-top:0}.hero-bottom>.mono{font-size:7px;letter-spacing:.5px}.scroll-hint{font-size:8px;gap:16px}.scroll-hint span{font-size:17px}.specialties-inner{overflow:hidden;justify-content:space-between;gap:13px;padding-top:20px;padding-bottom:20px;white-space:nowrap;letter-spacing:1px;font-size:8px}.specialties-inner>span:nth-last-child(-n+2){display:none}.specialty-star{font-size:18px}.section-pad{padding-top:64px;padding-bottom:64px}.section-heading{margin-bottom:30px}.section-number{font-size:8px;letter-spacing:1px}.section-aside{display:none}.profile-layout{grid-template-columns:1fr;gap:28px}.profile-layout h2{font-size:34px;letter-spacing:-1.4px}.profile-copy>p{font-size:12px}.focus-list{margin-top:25px}.focus-list>div{gap:17px;padding:17px 0}.focus-list p>span{font-size:11px}.stack-title-row,.experience-title-row{display:block;margin-bottom:28px}.stack-title-row h2,.experience-title-row h2{font-size:36px;letter-spacing:-1.7px}.stack-title-row>p,.experience-title-row>p{font-size:11px;margin-top:20px}.stack-controls{gap:18px;display:block}.stack-filters{gap:3px;flex-wrap:nowrap;justify-content:space-between;margin-bottom:17px}.filter{font-size:8px;padding:8px 7px}.filter span{display:none}.search-box{width:100%;padding-bottom:8px}.search-box input{width:100%;font-size:11px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tool-card{min-height:156px;padding:19px 15px 17px}.tool-card-top{margin-bottom:18px}.tool-name{font-size:14px}.tool-label{font-size:9px;max-width:115px}.tool-icon img{width:32px;height:32px}.stack-status{font-size:8px;line-height:1.8}.experience summary{grid-template-columns:1fr 25px;gap:7px;padding:23px 0}.experience-date{grid-column:1;grid-row:1;flex-direction:row;gap:12px;align-items:center;font-size:9px;padding:0}.current-tag{font-size:6px;padding:1px 5px}.experience-main{grid-column:1;grid-row:2;margin-top:6px;gap:4px}.experience-main strong{font-size:24px}.experience-main>span{font-size:9px}.experience-toggle{grid-column:2;grid-row:1/3;align-self:center}.experience-body{padding:0 10px 26px 0}.experience-body p,.experience-body li{font-size:11px}.education-section{display:block;padding-top:0;padding-bottom:64px}.education-heading{margin-bottom:30px}.education-heading h2{font-size:31px}.education-heading .eyebrow{margin-bottom:24px}.degree h3{font-size:15px;max-width:310px}.certifications>div{padding:17px 0}.contact-inner{padding-top:45px;padding-bottom:30px}.contact-section .section-heading{margin-bottom:29px}.contact-main{gap:15px;align-items:flex-end}.contact-main h2{font-size:clamp(39px,9.5vw,55px);letter-spacing:-2.2px}.contact-main p{font-size:10px;margin-top:20px;max-width:250px}.contact-arrow{width:54px;height:54px;margin-bottom:7px}.contact-arrow svg{width:29px;height:29px}.contact-links{display:block;margin-top:30px;padding-top:22px}.email-row{gap:10px}.email-row>a{font-size:17px}.contact-download{margin-top:22px;font-size:10px}.site-footer{min-height:90px;gap:13px;font-size:8px;flex-wrap:wrap;padding-block:20px}.footer-brand{font-size:24px}.site-footer>a:last-child{font-size:8px}.dialog-content{padding:30px 24px}.dialog-title-row{gap:15px}.dialog-title-row h2{font-size:29px}.dialog-logo{width:65px;height:65px;flex-shrink:0}.dialog-logo img{width:39px;height:39px}.dialog-description{font-size:13px}.dialog-content li{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.tool-card:hover,.button-primary:hover{transform:none}}
/* Reading sizes for a professional profile, including narrow screens. */
.profile-copy>p{font-size:14px}.focus-list p>span{font-size:12px}.tool-label{font-size:11px}.experience-body p,.experience-body li{font-size:13px}.experience-main>span{font-size:12px}.filter{font-size:11px}.certifications strong{font-size:12px}
@media(max-width:800px){.filter{font-size:10px}.experience-main>span{font-size:11px}}
@media(max-width:600px){.hero-intro,.profile-copy>p{font-size:14px}.focus-list strong{font-size:13px}.focus-list p>span{font-size:12px}.filter{font-size:9px}.tool-label{font-size:10px}.experience-body p,.experience-body li{font-size:13px}.experience-main>span{font-size:11px}.contact-main p{font-size:11px}}
