:root{color-scheme:dark;--background: #0f172a;--foreground: #f1f6fc;--muted: #9aacc1;--border: rgba(185, 210, 237, .16);--accent: #81c4ff;--accent-soft: rgba(91, 174, 247, .12);--selection: #a9d5ff;--content-width: 82.5rem;--page-space: clamp(1.5rem, 3vw, 3.25rem);--inner-space: clamp(2.25rem, 4.5vw, 4.875rem);--mouse-x: 50vw;--mouse-y: 42vh;--mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem;scrollbar-color:var(--accent) transparent;background:var(--background)}body{margin:0;min-width:320px;background:var(--background);color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-rendering:optimizeLegibility}::selection{background:var(--selection);color:var(--background)}a{color:inherit;text-underline-offset:.2em}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-surface{position:relative;isolation:isolate;width:100%;min-height:100dvh;background:var(--background)}.site-surface:before{content:"";position:fixed;z-index:-1;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle 55rem at var(--mouse-x) var(--mouse-y),rgba(99,178,255,.16) 0,rgba(58,133,212,.09) 34%,rgba(31,91,157,.035) 60%,transparent 82%)}.portfolio-shell{position:relative;z-index:1;width:min(calc(100% - clamp(2rem,7vw,7rem)),var(--content-width));min-height:100dvh;margin-inline:auto;display:grid;grid-template-columns:minmax(22rem,.88fr) minmax(0,1.12fr);align-items:start}.sidebar,.resume-pane{position:relative}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:var(--page-space);padding-right:var(--inner-space);overflow:hidden}.sidebar-main{min-height:0}.identity-block{max-width:29rem}.eyebrow,.entry-aside p,.site-note{margin:0;font-family:var(--mono);font-size:.75rem;font-weight:650;line-height:1.5;letter-spacing:.085em;text-transform:uppercase}.eyebrow{margin-bottom:clamp(2.25rem,5vh,4rem);color:var(--accent)}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;white-space:nowrap;overflow-wrap:normal;font-size:clamp(3rem,4vw,3.65rem);font-weight:620;line-height:.9;letter-spacing:-.065em}.role{margin:1.55rem 0 .65rem;font-family:var(--mono);font-size:.83rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.intro{max-width:29rem;margin:0;color:var(--muted);font-size:1rem;line-height:1.62}.personal-details{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin:1.8rem 0 0}.personal-details div{display:grid;gap:.3rem}.personal-details dt{color:var(--muted);font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.personal-details dd{margin:0;font-size:.88rem}.personal-details a{text-decoration:none}.personal-details a:hover{color:var(--accent);text-decoration:underline}.section-nav{display:grid;width:min(100%,19rem);margin-top:clamp(2rem,4vh,3rem)}.section-nav a{position:relative;display:block;padding:.48rem 0;color:var(--muted);text-decoration:none;transition:color .18s ease,padding-left .18s ease}.section-nav a:after{content:"";position:absolute;right:0;bottom:-1px;width:0;height:2px;background:var(--accent);transition:width .22s ease}.section-nav a strong{font-size:.84rem;font-weight:540}.section-nav a:hover{color:var(--foreground);padding-left:.3rem}.section-nav a.active{color:var(--foreground)}.section-nav a.active:after{width:2.5rem}.social-links{display:flex;gap:.8rem;margin-top:1.5rem}.social-links a{display:grid;place-items:center;width:2.55rem;height:2.55rem;color:var(--muted);border:1px solid var(--border);border-radius:50%;transition:color .18s ease,border-color .18s ease,transform .18s ease,background-color .18s ease}.social-links a:hover{color:var(--foreground);border-color:#81c4ff9e;background:var(--accent-soft);transform:translateY(-2px)}.social-links svg{width:1.15rem;height:1.15rem;fill:currentColor}.resume-pane{min-height:100dvh}.resume-content{width:100%;padding:0 var(--page-space);padding-left:var(--inner-space)}.resume-section{position:relative;padding:2.75rem 0;border-top:1px solid var(--border);scroll-margin-top:2rem}.resume-section:first-child{border-top:0;padding-top:clamp(4rem,9vh,6.5rem)}.section-body{margin:0}.summary-copy{max-width:40rem;margin:0;font-size:clamp(1.25rem,1.65vw,1.55rem);line-height:1.46;letter-spacing:-.022em}.working-note{display:grid;grid-template-columns:5.5rem 1fr;gap:1.25rem;margin:2rem 0 0;padding-top:1rem}.working-note dt{color:var(--muted);font-family:var(--mono);font-size:.73rem;text-transform:uppercase;letter-spacing:.08em}.working-note dd{margin:0;font-size:.95rem;line-height:1.55}.entry-list{display:grid;gap:.15rem}.resume-entry{display:grid;grid-template-columns:minmax(6.8rem,23%) minmax(0,1fr);gap:1.35rem;margin:0 -1rem;padding:1.25rem 1rem;border-radius:.7rem;transition:background-color .2s ease,box-shadow .2s ease,opacity .2s ease}.resume-entry:hover,.resume-entry:focus-within{background:#81c4ff13;box-shadow:inset 0 1px #beddfa0e}.entry-list:has(.resume-entry:hover) .resume-entry:not(:hover){opacity:.78}.entry-aside{color:var(--muted);padding-top:.18rem}.entry-main{min-width:0}.entry-main h3{margin:0 0 .55rem;font-size:1.08rem;font-weight:620;line-height:1.35;letter-spacing:-.014em}.entry-main h3 span{color:#c3d4e8;font-weight:540}.entry-main h3 a{text-decoration:none}.external-arrow{display:inline-block;color:var(--accent)!important;transition:transform .18s ease}.entry-main h3 a:hover .external-arrow,.entry-main h3 a:focus-visible .external-arrow{transform:translate(.16rem,-.16rem)}.entry-location{margin:-.15rem 0 .65rem;color:var(--muted);font-size:.82rem;line-height:1.45}.entry-description{margin:0;color:#b4c4d7;font-size:.94rem;line-height:1.65}.achievement-list{display:grid;gap:.5rem;margin:.9rem 0 0;padding:0;list-style:none;color:#c3d0df;font-size:.91rem}.achievement-list li{position:relative;padding-left:1.05rem;line-height:1.55}.achievement-list li:before{content:"—";position:absolute;left:0;color:var(--muted)}.tag-list,.skill-pills{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 0;padding:0;list-style:none}.tag-list li,.skill-pills li{padding:.28rem .58rem;color:#9ed5ff;background:#50acf51f;border-radius:999px;font-family:var(--mono);font-size:.7rem;font-weight:600;line-height:1.35;letter-spacing:.015em}.project-links{display:flex;gap:1rem;margin-top:.9rem}.project-links a{color:var(--muted);font-family:var(--mono);font-size:.7rem;font-weight:650;letter-spacing:.05em;text-decoration:none;text-transform:uppercase}.project-links a span{display:inline-block;transition:transform .18s ease}.project-links a:hover{color:var(--accent)}.project-links a:hover span,.project-links a:focus-visible span{transform:translate(.12rem,-.12rem)}.project-preview{aspect-ratio:16 / 9;min-width:0;overflow:hidden;color:var(--foreground);border:2px solid rgba(203,222,241,.1);border-radius:.5rem;background:linear-gradient(145deg,#81c4ff29,#1e406947);transform:translateY(.18rem);transition:border-color .2s ease,transform .2s ease,background-color .2s ease}.project-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:var(--background)}.project-preview-fallback{display:grid;align-content:space-between;width:100%;height:100%;padding:.75rem}.project-preview span{font-size:1.35rem;font-weight:650;letter-spacing:-.04em}.project-preview small{color:var(--muted);font-family:var(--mono);font-size:.58rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase}.project-entry:hover .project-preview,.project-entry:focus-within .project-preview{border-color:#cbdef147;transform:translateY(.08rem)}.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.6rem}.skill-group{padding:.8rem 0 1rem}.skill-group h3{margin:0;color:var(--foreground);font-size:.9rem;font-weight:620;letter-spacing:-.01em}.skill-group .skill-pills{margin-top:.7rem}.compact-list{margin:0;padding:0;list-style:none}.compact-list li{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1rem 0}.compact-list strong,.compact-list span{display:block}.compact-list strong{margin-bottom:.3rem}.compact-list div span,.compact-list>li>span{color:var(--muted);font-size:.9rem;line-height:1.5}.interest-list{display:flex;flex-wrap:wrap;gap:.55rem;margin:0;padding:0;list-style:none}.interest-list li{padding:.45rem .7rem;color:#b9d1e9;border:1px solid var(--border);border-radius:999px;font-size:.84rem}.site-note{margin-top:2.25rem;color:var(--muted)}.resume-footer{display:flex;justify-content:flex-end;padding:2.25rem 0 4rem}.resume-footer a{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--mono);font-size:.77rem;font-weight:650;letter-spacing:.07em;text-decoration:none;text-transform:uppercase}.resume-footer a span{color:var(--accent);transition:transform .18s ease}.resume-footer a:hover{color:var(--accent)}.resume-footer a:hover span{transform:translateY(3px)}.certification-info{display:flex;flex-direction:row;gap:.5rem;align-items:center}@media(max-width:1100px)and (min-width:801px){.portfolio-shell{width:calc(100% - 2rem);grid-template-columns:minmax(20.5rem,.82fr) minmax(0,1.18fr)}.sidebar{padding-inline:2rem 3rem}.resume-content{padding-inline:3rem 2rem}h1{font-size:clamp(2.75rem,5.5vw,3.55rem)}}@media(max-height:760px)and (min-width:801px){.eyebrow{margin-bottom:1.65rem}.role{margin-top:1.15rem}.intro{font-size:.92rem;line-height:1.5}.personal-details,.section-nav{margin-top:1.2rem}.section-nav a{padding-block:.31rem}}@media(max-width:800px){html{scroll-padding-top:1rem}.site-surface{height:auto;min-height:100dvh;overflow:visible}.portfolio-shell{width:100%;height:auto;min-height:100dvh;display:flex;flex-direction:column;overflow:visible}.sidebar{position:static;height:auto;min-height:0;padding:clamp(1.5rem,7vw,3rem);border-right:0;border-bottom:1px solid var(--border);overflow:visible}.eyebrow{margin-bottom:3rem}h1{font-size:clamp(2.35rem,11vw,4.7rem)}.intro{max-width:36rem}.section-nav{display:none}.social-links{margin-top:1.5rem}.resume-pane{height:auto;overflow:visible}.resume-content{padding:0 clamp(1.5rem,7vw,3rem)}.resume-section,.resume-section:first-child{padding:3.25rem 0}.summary-copy{font-size:clamp(1.25rem,5vw,1.65rem)}.resume-footer{padding-bottom:3.5rem}}@media(max-width:560px){.resume-entry{grid-template-columns:1fr;gap:.65rem;margin-inline:-.7rem;padding:1.1rem .7rem}.entry-aside{padding-top:0}.skill-grid{grid-template-columns:1fr;gap:0}.compact-list li{grid-template-columns:1fr}.personal-details{display:grid}}@media(hover:none),(pointer:coarse){.site-surface:before{background:radial-gradient(circle 44rem at 50% 12%,rgba(88,167,240,.12),transparent 80%)}.entry-list:has(.resume-entry:hover) .resume-entry:not(:hover){opacity:1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-surface:before{background:radial-gradient(circle 45rem at 50% 18%,rgba(88,167,240,.1),transparent 80%)}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
