@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600&family=Instrument+Serif:ital@0;1&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--bg:#101820;--surface:#131e27;--ink:#e6e9e8;--muted:#99a5ad;--quiet:#768590;--line:#2b3943;--blue:#b7d4e5;--gold:#d9c393;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans','Segoe UI',sans-serif;--mono:'IBM Plex Mono',Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:transparent;border:0;-webkit-tap-highlight-color:transparent}a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:1px solid var(--gold);outline-offset:6px}::selection{background:var(--gold);color:var(--bg)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;top:-60px;left:20px;padding:8px 14px;background:var(--ink);color:var(--bg);z-index:10}.skip-link:focus{top:10px}.site-header,main,.site-footer{width:min(1240px,calc(100% - 112px));margin:0 auto}.site-header{height:105px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.identity{display:flex;align-items:center;gap:18px}.identity-mark{font:45px/1 var(--serif);letter-spacing:-3px;color:var(--ink);padding:0 0 5px}.identity-mark>span{color:var(--gold)}.identity>span:last-child{font-size:13px;line-height:1.5;letter-spacing:.1px}.identity small{display:block;font:7px/1.6 var(--mono);letter-spacing:1.6px;color:var(--muted);margin-top:4px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:11px;color:var(--muted)}.site-header nav a:hover{color:var(--ink)}.site-header .nav-contact{color:var(--ink);border:1px solid #44525c;border-radius:30px;padding:8px 16px;font-size:10px;display:flex;align-items:center;gap:21px}.nav-contact>span{font-size:17px;color:var(--gold)}.intro{display:grid;grid-template-columns:1.55fr 1fr;gap:90px;align-items:end;padding:56px 0 48px}.eyebrow{font:8px/1.8 var(--mono);letter-spacing:1px;color:var(--muted)}.intro-title>.eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 17px}.tiny-orbit{width:6px;height:6px;border:1px solid var(--gold);border-radius:50%}.intro h1{font:400 clamp(50px,4.8vw,74px)/1.02 var(--serif);letter-spacing:-1.5px;margin:0}.intro h1 em{font-weight:400;font-style:italic;color:var(--gold)}.intro-aside{padding:0 0 6px;max-width:310px;justify-self:end}.aside-marker{font:10px var(--mono);color:var(--gold)}.intro-aside>p{font-size:12px;line-height:1.85;color:var(--muted);margin:12px 0 17px}.intro-status{display:flex;gap:7px;align-items:center;font-size:9px;color:var(--muted)}.intro-status i{height:4px;width:4px;display:block;border-radius:50%;background:var(--gold);box-shadow:0 0 8px #d9c39330}.atlas-section{border-top:1px solid var(--line);scroll-margin-top:18px}.section-line{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0}.section-line h2{font:500 12px var(--sans);margin:0;letter-spacing:.1px}.section-line>span{font:7px var(--mono);color:var(--quiet);letter-spacing:1px}.atlas-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);border:1px solid var(--line);background:var(--surface);min-height:414px}.map-side{min-width:0;display:flex;flex-direction:column}.project-map{position:relative;min-width:0;height:354px;flex:1;isolation:isolate}.map-lines{position:absolute;width:100%;height:100%;inset:0;pointer-events:none}.map-orbits{stroke:#607b8b;stroke-opacity:.19;stroke-width:.8}.map-connections{stroke:#829caf;stroke-opacity:.32;stroke-width:.8}.satellite-links{stroke:#708794;stroke-opacity:.35;stroke-width:.8}.satellite-stars{fill:#a4b6bf;opacity:.55}.satellite-stars circle:nth-child(3n){fill:var(--gold)}.map-annotations{font:6px var(--mono);fill:#81939e;opacity:.7;letter-spacing:.5px}.map-annotations .map-origin{font-size:15px;fill:#8298a3;opacity:.6}.map-node{position:absolute;display:grid;place-items:center;width:70px;height:70px;padding:0;transform:translate(-50%,-50%);border-radius:50%;z-index:2;transition:opacity 220ms ease}.map-node[data-project=custom]{left:23.29%;top:55.61%}.map-node[data-project=resume]{left:53.42%;top:25.12%}.map-node[data-project=rag]{left:79.21%;top:66.58%}.node-core{display:grid;place-items:center;width:44px;height:44px;border:1px solid #657a89;border-radius:50%;background:var(--surface);color:var(--blue);font:11px var(--mono);box-shadow:0 0 0 6px #14232c;transition:color .22s,background .22s,border-color .22s}.node-rings{position:absolute;inset:0;border:1px solid #6078863b;border-radius:50%;transition:border-color .22s,transform .22s}.map-node[aria-pressed=true] .node-core{background:var(--gold);color:#18232a;border-color:var(--gold);box-shadow:0 0 0 7px #d9c3930a}.map-node[aria-pressed=true] .node-rings{border-color:#d9c39365}.map-node[aria-pressed=true] .node-rings::after{content:'';position:absolute;width:4px;height:4px;background:var(--gold);border-radius:50%;top:7px;right:8px}.map-node:hover .node-rings{transform:scale(1.08);border-color:var(--blue)}.node-label{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);display:block;text-align:center;white-space:nowrap;pointer-events:none}.node-label strong{font-size:11px;line-height:1.5;font-weight:450;display:block;color:var(--ink)}.node-label small{font:6px/1.8 var(--mono);color:var(--quiet);letter-spacing:.7px;display:block;margin-top:3px}.map-node[aria-pressed=true] .node-label strong{color:var(--gold)}.map-coordinate{position:absolute;left:20px;top:18px;font:6px var(--mono);letter-spacing:1px;color:var(--quiet);pointer-events:none}.map-coordinate>span{display:block;margin-top:5px;font-size:7px;letter-spacing:.5px;color:#657986}.map-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #2b394370;margin:0 20px;padding:16px 0}.map-instruction{font-size:9px;color:var(--muted);line-height:1.5}.map-instruction small{font:7px var(--mono);color:var(--quiet);display:block;margin-top:4px}.map-pagination{display:flex;align-items:center;gap:15px;flex:none}.map-pagination>span{font:8px var(--mono);color:var(--muted)}.map-pagination button{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;font-size:15px;color:var(--muted)}.map-pagination button:hover{border-color:var(--gold);color:var(--gold)}.project-story{border-left:1px solid var(--line);padding:26px 29px 24px;min-width:0;display:flex;flex-direction:column}.story-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.story-topline .eyebrow{font-size:7px;color:var(--quiet)}.story-orbit{font-size:21px;color:var(--gold);line-height:1}.project-story h3{font:400 39px/1.05 var(--serif);letter-spacing:-.6px;margin:20px 0 17px;color:var(--ink)}.project-lead{font-size:12px;line-height:1.8;margin:0 0 13px;color:#d1d9dc;min-height:43px}.project-description{font-size:11px;line-height:1.9;color:var(--muted);margin:0 0 20px}.project-stack{display:flex;flex-wrap:wrap;gap:5px 12px;font:7px var(--mono);color:var(--quiet);margin:auto 0 20px}.project-stack span{padding-bottom:3px;border-bottom:1px solid var(--line)}.repository-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:14px;border-top:1px solid var(--line);font-size:10px;color:var(--blue)}.repository-link:hover{color:var(--gold)}.repository-link>span{font-size:19px}.story-footnote{display:block;font:6px/1.8 var(--mono);color:var(--quiet);margin-top:13px;letter-spacing:.2px}.connection-lenses{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px 0 22px;border-bottom:1px solid var(--line)}.lens-label{font:7px var(--mono);letter-spacing:.8px;color:var(--quiet)}.connection-lenses p{font-size:10px;color:var(--muted);margin:6px 0 0;line-height:1.7}.lens-buttons{display:flex;gap:7px;flex-wrap:wrap;flex:none}.lens-buttons button{padding:6px 12px;font:8px var(--mono);border:1px solid var(--line);border-radius:20px;color:var(--muted);min-height:31px}.lens-buttons button[aria-pressed=true]{background:#d9c39312;border-color:#d9c39365;color:var(--gold)}.map-node.is-dimmed{opacity:.25}.map-node.is-related:not([aria-pressed=true]) .node-core{border-color:var(--blue);color:var(--blue)}.map-node.is-related:not([aria-pressed=true]) .node-rings{border-color:#b7d4e560}.project-map.has-lens .map-connections{stroke-opacity:.16}.project-map.has-lens .map-orbits{stroke-opacity:.1}.about-section{padding:66px 0 60px;display:grid;grid-template-columns:1.25fr 1fr;gap:100px;border-bottom:1px solid var(--line)}.about-heading h2{font:400 47px/1.1 var(--serif);letter-spacing:-.7px;margin:20px 0 0}.about-heading h2 em{font-weight:400;color:var(--gold)}.about-flower{display:block;width:84px;height:84px;margin:26px 0 0;color:#d9c39380}.about-flower svg{display:block;width:100%;height:100%}.about-copy>p{font-size:12px;line-height:1.95;color:var(--muted);margin:0 0 14px}.personal-notes{margin:25px 0 0}.personal-notes>div{display:grid;grid-template-columns:125px 1fr;gap:12px;border-top:1px solid var(--line);padding:13px 0}.personal-notes dt{font:6px/1.8 var(--mono);letter-spacing:.5px;color:var(--quiet);padding-top:2px}.personal-notes dd{font-size:9px;line-height:1.8;color:#c2cdd3;margin:0}.contact-section{padding:39px 0 41px;display:flex;align-items:center;justify-content:space-between;gap:25px}.contact-section h2{font:400 30px/1.2 var(--serif);margin:12px 0 8px}.contact-section p{font-size:10px;color:var(--muted);margin:0}.contact-link{display:flex;align-items:center;justify-content:space-between;gap:55px;background:var(--gold);border-radius:30px;color:#15212a;padding:12px 22px;font-size:11px;flex:none}.contact-link span{font-size:20px}.contact-link:hover{background:#e8d3a3}.site-footer{display:flex;align-items:center;gap:26px;border-top:1px solid var(--line);padding:20px 0 25px;font:7px var(--mono);color:var(--quiet)}.footer-note{margin:0 auto 0 14px;font-size:6px;letter-spacing:.7px}.site-footer a{font-size:7px;color:var(--muted)}.site-footer a:hover{color:var(--gold)}
@media(min-width:1700px){.intro{padding-top:70px;padding-bottom:60px}.project-map{height:400px}.atlas-layout{min-height:463px}.intro h1{font-size:82px}}
@media(max-width:1050px){.site-header,main,.site-footer{width:calc(100% - 72px)}.intro{grid-template-columns:1.3fr 1fr;gap:50px;padding:45px 0 37px}.intro h1{font-size:60px}.intro-aside{max-width:285px}.atlas-layout{grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr)}.project-story{padding:24px}.project-story h3{font-size:34px}.project-map{height:354px}.map-node{width:60px;height:60px}.node-core{width:38px;height:38px;font-size:10px}.node-label strong{font-size:10px}.node-label small{font-size:5px}.map-annotations{font-size:6px}.about-section{gap:55px}.personal-notes>div{grid-template-columns:100px 1fr}.about-heading h2{font-size:44px}}
@media(max-width:760px){.site-header,main,.site-footer{width:calc(100% - 40px)}.site-header{height:84px;gap:15px}.identity{gap:12px}.identity-mark{font-size:39px}.identity>span:last-child{font-size:11px}.identity small{font-size:6px;letter-spacing:1px}.site-header nav{gap:18px;font-size:10px}.site-header nav>a:nth-child(2){display:none}.site-header .nav-contact{border:0;padding:0;font-size:10px;gap:9px}.intro{grid-template-columns:1fr;gap:24px;padding:37px 0 34px}.intro-title>.eyebrow{font-size:7px;margin-bottom:20px;letter-spacing:.6px}.intro h1{font-size:64px;line-height:1.02;letter-spacing:-1.2px}.intro-aside{justify-self:start;max-width:450px;padding:0}.aside-marker{display:none}.intro-aside>p{font-size:12px;line-height:1.9;margin:0 0 14px}.intro-status{font-size:8px}.section-line{padding:17px 0;align-items:baseline;gap:15px}.section-line h2{font-size:11px}.section-line>span{font-size:5px;letter-spacing:.45px}.atlas-layout{display:block;min-height:0}.project-map{height:315px;min-height:315px}.map-node{width:57px;height:57px}.node-core{width:36px;height:36px;font-size:9px}.node-label{top:calc(100% + 5px)}.node-label strong{font-size:9px}.node-label small{font-size:5px;letter-spacing:.25px;margin-top:2px}.map-annotations{font-size:6px;letter-spacing:.2px}.map-coordinate{left:15px;top:15px;font-size:5px}.map-footer{margin:0 16px;padding:15px 0;gap:10px}.map-instruction{font-size:8px}.map-instruction small{font-size:6px}.map-pagination{gap:10px}.map-pagination button{width:30px;height:30px}.map-pagination>span{font-size:7px}.project-story{border-left:0;border-top:1px solid var(--line);padding:23px 23px 21px;min-height:356px}.story-topline .eyebrow{font-size:7px}.project-story h3{font-size:37px;margin:18px 0 15px}.project-lead{font-size:12px;line-height:1.8;margin-bottom:12px;min-height:0}.project-description{font-size:11px;line-height:1.9;margin-bottom:20px}.project-stack{font-size:8px;margin:0 0 22px;gap:6px 13px}.repository-link{font-size:11px}.story-footnote{font-size:6px}.connection-lenses{display:block;padding:20px 0 23px}.connection-lenses p{font-size:10px;min-height:17px}.lens-label{font-size:6px}.lens-buttons{margin-top:15px;gap:8px}.lens-buttons button{font-size:8px;min-height:34px;padding:7px 13px}.about-section{display:block;padding:43px 0 32px}.about-heading{position:relative}.about-heading>.eyebrow{font-size:6px;letter-spacing:.6px}.about-heading h2{font-size:43px;margin-top:20px}.about-flower{position:absolute;width:65px;height:65px;right:2px;bottom:0;margin:0;opacity:.6}.about-copy{margin-top:27px}.about-copy>p{font-size:12px;line-height:1.95;margin-bottom:14px}.personal-notes{margin-top:24px}.personal-notes>div{grid-template-columns:105px 1fr;padding:14px 0;gap:10px}.personal-notes dt{font-size:6px;line-height:1.9}.personal-notes dd{font-size:9px}.contact-section{padding:30px 0 33px;align-items:start;flex-direction:column;gap:23px}.contact-section>.eyebrow{font-size:7px}.contact-section h2{font-size:30px;letter-spacing:-.3px;margin-top:12px}.contact-section p{font-size:10px}.contact-link{padding:10px 19px;gap:50px;font-size:11px}.site-footer{padding:18px 0 23px;gap:20px;font-size:6px;flex-wrap:wrap}.site-footer .footer-note{display:none}.site-footer a:first-of-type{margin-left:auto}.site-footer a{font-size:7px}}
@media(max-width:360px){.site-header,main,.site-footer{width:calc(100% - 32px)}.site-header nav{gap:13px}.identity{gap:9px}.identity>span:last-child{font-size:10px}.intro h1{font-size:58px}.intro-title>.eyebrow{font-size:6px}.section-line>span{font-size:4.5px}.map-node{width:49px;height:49px}.node-core{width:34px;height:34px}.node-label strong{font-size:8px}.node-label small{font-size:4.5px}.map-pagination{gap:8px}.map-footer{margin-inline:12px}.project-story{padding:22px 20px}.about-heading h2{font-size:40px}.about-flower{width:50px;height:50px}.lens-buttons{gap:6px}.lens-buttons button{padding-inline:11px}.contact-section h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.map-connections path{transition:stroke 220ms ease,stroke-opacity 220ms ease}
.map-connections path.is-selected{stroke:#d9c393;stroke-opacity:.4;stroke-width:1.1}
/* Keep the main copy comfortable to read; the small labels remain secondary. */
.intro-aside>p{font-size:13px}
.project-description{font-size:12px;line-height:1.85}
.project-lead{font-size:13px}
.about-copy>p{font-size:13px}
.node-label strong{font-size:12px}
@media(max-width:1050px){.node-label strong{font-size:11px}}
@media(max-width:760px){.intro-aside>p,.about-copy>p{font-size:13px}.project-description{font-size:12px}.project-lead{font-size:13px}.node-label strong{font-size:10px}.lens-buttons button{min-height:40px}.map-pagination button{width:34px;height:34px}}
@media(max-width:360px){.node-label strong{font-size:9px}}
