:root{--background:#f3f5f7;--surface:#fff;--surface-soft:#e8edf2;--foreground:#18212b;--muted:#5c6875;--border:#cfd7e0;--accent:#355f84;--accent-strong:#274b6a;--accent-contrast:#fff;--header-background:#f3f5f7e6;--shadow:0 16px 48px #1e30421a;--content-width:1120px;--font-display:"Aptos Display", "Segoe UI Variable Display", "Segoe UI", ui-sans-serif, system-ui, sans-serif;--font-sans:"Aptos", "Segoe UI Variable Text", "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace}:root[data-theme=dark]{--background:#11161c;--surface:#182029;--surface-soft:#1d2732;--foreground:#edf2f6;--muted:#a9b5c1;--border:#34414d;--accent:#84a9c8;--accent-strong:#a4c2da;--accent-contrast:#101820;--header-background:#11161ce6;--shadow:0 16px 48px #0000003d}@media (prefers-color-scheme:dark){:root:not([data-theme]){--background:#11161c;--surface:#182029;--surface-soft:#1d2732;--foreground:#edf2f6;--muted:#a9b5c1;--border:#34414d;--accent:#84a9c8;--accent-strong:#a4c2da;--accent-contrast:#101820;--header-background:#11161ce6;--shadow:0 16px 48px #0000003d}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6;transition:background-color .18s,color .18s}button,a{font:inherit}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}img{max-width:100%;display:block}h1,h2,h3,p,ul{margin-top:0}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;line-height:1.14}button,a,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.site-shell{min-height:100vh;overflow:clip}.section-shell{width:min(calc(100% - 3rem), var(--content-width));margin-inline:auto}.skip-link{z-index:100;background:var(--accent);color:var(--accent-contrast);padding:.65rem .9rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:30;border-bottom:1px solid var(--border);background:var(--header-background);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0}.header-inner{width:min(calc(100% - 3rem), var(--content-width));grid-template-columns:1fr auto;align-items:center;gap:1.5rem;min-height:4.25rem;margin-inline:auto;display:grid;position:relative}.primary-navigation{justify-self:start}.primary-navigation ul,.header-controls,.home-actions,.contact-links,.technology-list{align-items:center;margin:0;padding:0;list-style:none;display:flex}.primary-navigation ul{gap:clamp(.75rem,1.8vw,1.45rem)}.primary-navigation a,.language-link,.theme-button,.menu-button{color:var(--muted);font-size:.86rem;font-weight:600;text-decoration:none}.primary-navigation a{padding-block:.4rem;position:relative}.primary-navigation a:after{background:var(--accent);content:"";transform-origin:100%;height:1px;transition:transform .16s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.primary-navigation a:hover,.language-link:hover,.theme-button:hover,.menu-button:hover{color:var(--foreground)}.primary-navigation a:hover:after{transform-origin:0;transform:scaleX(1)}.header-controls{border-left:1px solid var(--border);gap:.65rem;padding-left:1rem}.language-link,.theme-button,.menu-button{background:0 0;border:0}.language-link,.theme-button{cursor:pointer;min-height:2.25rem;padding:.35rem .45rem}.menu-button{cursor:pointer;display:none}.home-section{grid-template-columns:minmax(0,1.65fr) minmax(14rem,.65fr);align-items:center;gap:clamp(3rem,7vw,6rem);min-height:min(44rem,100svh - 4.25rem);padding-block:clamp(4.75rem,9vw,7.25rem);display:grid}.eyebrow,.section-heading span,.focus-list>p,.timeline-period,.education-period{color:var(--accent);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;font-size:.78rem;font-weight:600}.home-copy h1{letter-spacing:-.048em;max-width:15ch;margin-bottom:1.1rem;font-size:clamp(3.25rem,6.4vw,5.25rem);font-weight:630}.home-headline{max-width:36rem;margin-bottom:1rem;font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:550;line-height:1.38}.home-supporting{max-width:35rem;color:var(--muted);margin-bottom:0;font-size:1.02rem}.home-actions{flex-wrap:wrap;gap:.8rem;margin-top:2rem}.button{border:1px solid #0000;border-radius:.25rem;justify-content:center;align-items:center;min-height:2.85rem;padding:.65rem 1rem;font-size:.9rem;font-weight:650;text-decoration:none;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:var(--accent-contrast)}.button-primary:hover{background:var(--accent-strong)}.button-secondary{border-color:var(--border);background:var(--surface)}.button-secondary:hover{border-color:var(--accent)}.text-link,.repository-link{color:var(--accent);font-weight:650}.text-link{padding:.6rem .25rem}.focus-list{border-left:2px solid var(--accent);padding-left:1.4rem}.focus-list>p{margin-bottom:.8rem}.focus-list ul{margin-bottom:0;padding:0;list-style:none}.focus-list li{border-bottom:1px solid var(--border);color:var(--muted);padding-block:.48rem}.content-section{border-top:1px solid var(--border);padding-block:clamp(4.75rem,8vw,6.5rem)}.section-heading{grid-template-columns:2.5rem 1fr;align-items:start;gap:1rem;margin-bottom:clamp(2.2rem,4vw,3.1rem);display:grid}.section-heading span{padding-top:.55rem}.section-heading h2{letter-spacing:-.045em;margin-bottom:0;font-size:clamp(2.25rem,4.2vw,3.5rem);font-weight:650;line-height:1.04}.section-introduction{max-width:39rem;color:var(--foreground);margin:-1.45rem 0 3.5rem 3.5rem;font-size:clamp(1.05rem,1.5vw,1.15rem);line-height:1.55}.about-layout{grid-template-columns:minmax(16rem,.78fr) minmax(0,1.45fr);align-items:center;gap:clamp(2.5rem,6vw,5rem);padding-left:3.5rem;display:grid}.profile-frame{aspect-ratio:4/5;padding:.65rem;position:relative}.profile-frame:before{z-index:2;background:linear-gradient(var(--accent), var(--accent)) left top / 2.6rem 1px no-repeat, linear-gradient(var(--accent), var(--accent)) left top / 1px 2.6rem no-repeat, linear-gradient(var(--accent), var(--accent)) right top / 2.6rem 1px no-repeat, linear-gradient(var(--accent), var(--accent)) right top / 1px 2.6rem no-repeat, linear-gradient(var(--accent), var(--accent)) left bottom / 2.6rem 1px no-repeat, linear-gradient(var(--accent), var(--accent)) left bottom / 1px 2.6rem no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom / 2.6rem 1px no-repeat, linear-gradient(var(--accent), var(--accent)) right bottom / 1px 2.6rem no-repeat;content:"";pointer-events:none;position:absolute;inset:0}.profile-frame img{z-index:1;border:1px solid var(--border);background:var(--surface-soft);width:100%;height:100%;box-shadow:var(--shadow);object-fit:cover;object-position:51% center;border-radius:.2rem;position:relative}.about-copy{max-width:40rem}.about-copy p{color:var(--muted);margin-bottom:1.25rem;font-size:clamp(1.03rem,1.5vw,1.12rem)}.projects-list{border-bottom:1px solid var(--border);margin-left:3.5rem}.project-entry{border-top:1px solid var(--border);padding-block:clamp(2rem,3.5vw,2.8rem)}.project-heading-row{justify-content:space-between;align-items:baseline;gap:1.5rem;display:flex}.project-heading-row h3{letter-spacing:-.018em;max-width:42rem;margin-bottom:0;font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:650;line-height:1.2}.repository-link{flex:none;font-size:.88rem}.project-summary{max-width:44rem;color:var(--muted);margin:1rem 0 1.2rem;font-size:.98rem;line-height:1.65}.technology-list{flex-wrap:wrap;gap:.45rem}.technology-list li{border:1px solid var(--border);color:var(--muted);font-family:var(--font-mono);border-radius:999px;padding:.22rem .52rem;font-size:.72rem}.project-details{max-width:49rem;margin-top:1.35rem}.project-details summary{width:fit-content;color:var(--accent);cursor:pointer;font-size:.9rem;font-weight:650}.project-details summary::marker{color:var(--accent)}.project-details div{border-left:2px solid var(--border);padding:1rem 0 0 1rem}.project-details p{color:var(--muted)}.project-details p:last-child{margin-bottom:0}.skills-grid{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-left:3.5rem;display:grid}.skill-group{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:11.5rem;padding:1.35rem}.skill-group:nth-child(3n+1){border-left:1px solid var(--border)}.skill-group h3{margin-bottom:1rem;font-size:1rem}.skill-group ul{color:var(--muted);margin-bottom:0;padding:0;list-style:none}.skill-group li+li{margin-top:.35rem}.timeline{padding-left:3.5rem}.timeline-entry{border-top:1px solid var(--border);grid-template-columns:minmax(9rem,.45fr) minmax(0,1fr);gap:2rem;padding-block:1.75rem;display:grid}.timeline-entry:last-child{border-bottom:1px solid var(--border)}.timeline-period{margin-bottom:0}.timeline-content h3{margin-bottom:.4rem;font-size:clamp(1.22rem,2.1vw,1.58rem)}.timeline-organization{color:var(--accent);font-weight:600}.timeline-content ul{max-width:44rem;color:var(--muted);margin-bottom:0;padding-left:1.15rem}.education-grid{border:1px solid var(--border);background:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-left:3.5rem;display:grid}.education-entry{background:var(--background);padding:clamp(1.5rem,4vw,2.5rem)}.education-entry h3{margin-bottom:.8rem;font-size:clamp(1.25rem,2.4vw,1.65rem)}.education-entry p:not(.education-period){color:var(--muted)}.education-entry strong{color:var(--accent);font-family:var(--font-mono);font-size:.82rem}.contact-section{border-top:1px solid var(--border);background:var(--surface-soft);padding-block:clamp(4.75rem,9vw,7rem)}.contact-inner>p{max-width:47rem;color:var(--muted);margin-left:3.5rem;font-size:clamp(1.05rem,2vw,1.25rem)}.contact-links{flex-wrap:wrap;gap:1rem;margin:2rem 0 0 3.5rem}.site-footer{color:var(--muted);justify-content:space-between;gap:2rem;padding-block:1.8rem;font-size:.83rem;display:flex}.site-footer p{margin-bottom:0}.site-footer a{color:var(--accent);font-weight:650}@supports (animation-timeline:view()){.reveal-section{animation:linear both section-reveal;animation-timeline:view();animation-range:entry 8% cover 28%}@keyframes section-reveal{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}}@media (max-width:980px){.header-inner{grid-template-columns:1fr auto}.menu-button{justify-content:center;align-items:center;min-height:2.25rem;display:inline-flex}.primary-navigation{border:1px solid var(--border);background:var(--background);box-shadow:var(--shadow);padding:1rem 1.5rem 1.4rem;display:none;position:absolute;top:100%;left:0;right:0}.primary-navigation.is-open{display:block}.primary-navigation ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.primary-navigation a{border-bottom:1px solid var(--border);padding:.7rem;display:block}.header-controls{justify-self:end}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-group:nth-child(3n+1){border-left:0}.skill-group:nth-child(odd){border-left:1px solid var(--border)}}@media (max-width:760px){.section-shell,.header-inner{width:min(calc(100% - 2rem), var(--content-width))}.home-section{grid-template-columns:1fr;align-items:start;gap:3rem;min-height:0;padding-block:4.75rem}.home-copy h1{max-width:10ch}.focus-list{max-width:28rem}.section-heading{grid-template-columns:2.25rem 1fr}.section-introduction,.projects-list,.about-layout,.skills-grid,.timeline,.education-grid,.contact-inner>p,.contact-links{margin-left:0;padding-left:0}.section-introduction{margin-top:-1.5rem}.about-layout{grid-template-columns:1fr}.profile-frame{width:min(100%,20rem)}.project-heading-row{display:block}.repository-link{margin-top:.75rem;display:inline-block}.timeline-entry{grid-template-columns:1fr;gap:.7rem}.education-grid{grid-template-columns:1fr}}@media (max-width:520px){.header-inner{grid-template-columns:1fr auto;gap:.7rem}.menu-button{justify-self:start}.header-controls{gap:.2rem;padding-left:.45rem}.primary-navigation ul,.skills-grid{grid-template-columns:1fr}.skill-group,.skill-group:nth-child(odd){border-left:1px solid var(--border);min-height:0}.home-copy h1{font-size:clamp(2.75rem,14vw,3.65rem)}.site-footer{display:block}.site-footer a{margin-top:.7rem;display:inline-block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
