.contact-content[data-astro-cid-he3spzz3]{background:var(--surface);grid-template-columns:minmax(0,1.4fr) minmax(180px,.6fr);gap:60px;padding:clamp(30px,4vw,56px);display:grid}.contact-email[data-astro-cid-he3spzz3]{color:var(--text-primary);letter-spacing:-.045em;overflow-wrap:anywhere;font-size:clamp(24px,3.3vw,42px);font-weight:550;text-decoration:none}.contact-email[data-astro-cid-he3spzz3]:hover{color:var(--accent)}.profiles[data-astro-cid-he3spzz3] h3[data-astro-cid-he3spzz3]{color:var(--text-secondary);margin:0 0 18px;font-size:16px;font-weight:500}.profiles[data-astro-cid-he3spzz3] ul[data-astro-cid-he3spzz3]{gap:12px;margin:0;padding:0;list-style:none;display:grid}.profiles[data-astro-cid-he3spzz3] a[data-astro-cid-he3spzz3]{color:var(--text-primary);font-size:17px;text-decoration:none}.profiles[data-astro-cid-he3spzz3] a[data-astro-cid-he3spzz3]:hover{color:var(--accent)}@media (width<=700px){.contact-content[data-astro-cid-he3spzz3]{background:0 0;grid-template-columns:1fr;gap:42px;padding:0}.contact-email[data-astro-cid-he3spzz3]{font-size:clamp(20px,5.8vw,32px)}}.education-body[data-astro-cid-ew4vagfh]{background:var(--surface);grid-template-columns:minmax(240px,.8fr) minmax(0,1.7fr);gap:clamp(40px,7vw,108px);padding:clamp(30px,4vw,56px);display:grid}.programme[data-astro-cid-ew4vagfh] h3[data-astro-cid-ew4vagfh]{letter-spacing:-.045em;max-width:14ch;margin:0;font-size:clamp(27px,3vw,40px);font-weight:550;line-height:1.12}.programme[data-astro-cid-ew4vagfh] p[data-astro-cid-ew4vagfh]{color:var(--accent);margin:22px 0 0;font-size:16px;line-height:1.5}.programme[data-astro-cid-ew4vagfh] .programme-note[data-astro-cid-ew4vagfh]{max-width:30ch;color:var(--text-secondary);margin-top:38px}.coursework[data-astro-cid-ew4vagfh] h3[data-astro-cid-ew4vagfh]{margin:0 0 24px;font-size:18px;font-weight:600}.coursework[data-astro-cid-ew4vagfh] ul[data-astro-cid-ew4vagfh]{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0;padding:0;list-style:none;display:grid}.coursework[data-astro-cid-ew4vagfh] li[data-astro-cid-ew4vagfh]{flex-direction:column;gap:4px;min-width:0;padding:10px 0;font-size:15px;line-height:1.45;display:flex}.course-code[data-astro-cid-ew4vagfh]{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}@media (width<=800px){.education-body[data-astro-cid-ew4vagfh]{grid-template-columns:1fr;gap:38px}.programme[data-astro-cid-ew4vagfh] h3[data-astro-cid-ew4vagfh]{max-width:none}.programme[data-astro-cid-ew4vagfh] .programme-note[data-astro-cid-ew4vagfh]{max-width:55ch;margin-top:18px}}@media (width<=560px){.coursework[data-astro-cid-ew4vagfh] ul[data-astro-cid-ew4vagfh]{grid-template-columns:1fr}.coursework[data-astro-cid-ew4vagfh] li[data-astro-cid-ew4vagfh]{flex-direction:row;justify-content:space-between;gap:14px}.course-code[data-astro-cid-ew4vagfh]{flex-shrink:0}}.hero[data-astro-cid-ge2uvauf]{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:center;gap:clamp(48px,7vw,100px);margin-top:clamp(56px,8vw,116px);display:grid}.hero-copy[data-astro-cid-ge2uvauf]{min-width:0}h1[data-astro-cid-ge2uvauf]{letter-spacing:-.065em;max-width:11ch;margin:0;font-size:clamp(58px,6.6vw,104px);font-weight:650;line-height:.99}.hero-role[data-astro-cid-ge2uvauf]{color:var(--accent);letter-spacing:-.02em;margin:24px 0 0;font-size:20px;font-weight:600}.hero-intro[data-astro-cid-ge2uvauf]{letter-spacing:-.025em;max-width:36ch;margin:48px 0 0;font-size:clamp(22px,2.25vw,30px);line-height:1.32}.hero-detail[data-astro-cid-ge2uvauf]{max-width:53ch;color:var(--text-secondary);margin:22px 0 0;font-size:17px;line-height:1.65}.hero-actions[data-astro-cid-ge2uvauf]{align-items:center;gap:28px;margin-top:34px;display:flex}.hero-portrait[data-astro-cid-ge2uvauf]{align-self:stretch;margin:0}.hero-portrait[data-astro-cid-ge2uvauf] img{object-fit:cover;object-position:50% 38%;filter:grayscale();width:100%;height:100%;max-height:650px;display:block}@media (width<=800px){.hero[data-astro-cid-ge2uvauf]{grid-template-columns:minmax(0,1fr) minmax(210px,.7fr);gap:32px}h1[data-astro-cid-ge2uvauf]{font-size:clamp(52px,7.2vw,70px)}.hero-intro[data-astro-cid-ge2uvauf]{margin-top:36px}}@media (width<=700px){.hero[data-astro-cid-ge2uvauf]{grid-template-columns:1fr;gap:38px;margin-top:54px}h1[data-astro-cid-ge2uvauf]{font-size:clamp(56px,12.5vw,78px)}.hero-role[data-astro-cid-ge2uvauf]{margin-top:18px}.hero-intro[data-astro-cid-ge2uvauf]{margin-top:32px}.hero-portrait[data-astro-cid-ge2uvauf]{max-width:430px}.hero-portrait[data-astro-cid-ge2uvauf] img{aspect-ratio:4/3;object-position:50% 28%;height:auto}}.project-list[data-astro-cid-ftq3vvlr]{gap:10px;display:grid}.project[data-astro-cid-ftq3vvlr]{background:var(--surface);grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);gap:50px;padding:38px 40px;display:grid}.project[data-astro-cid-ftq3vvlr] h3[data-astro-cid-ftq3vvlr]{letter-spacing:-.045em;max-width:15ch;margin:0;font-size:clamp(28px,3vw,38px);font-weight:550;line-height:1.14}.project-type[data-astro-cid-ftq3vvlr]{color:var(--accent);margin:18px 0 0;font-size:15px;line-height:1.5}.project-detail[data-astro-cid-ftq3vvlr]{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.project-detail[data-astro-cid-ftq3vvlr] p[data-astro-cid-ftq3vvlr]{max-width:50ch;margin:0;font-size:17px;line-height:1.65}@media (width<=700px){.project[data-astro-cid-ftq3vvlr]{grid-template-columns:1fr;gap:25px;padding:30px}.project[data-astro-cid-ftq3vvlr] h3[data-astro-cid-ftq3vvlr]{max-width:none}}.skills-list[data-astro-cid-u256hdza]{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,5vw,70px);padding:12px 0 0;display:grid}.skills-group[data-astro-cid-u256hdza] h3[data-astro-cid-u256hdza]{color:var(--accent);margin:0 0 20px;font-size:16px;font-weight:600}.skills-group[data-astro-cid-u256hdza] p[data-astro-cid-u256hdza]{letter-spacing:-.025em;max-width:28ch;margin:0;font-size:clamp(20px,2.2vw,28px);font-weight:500;line-height:1.45}@media (width<=700px){.skills-list[data-astro-cid-u256hdza]{grid-template-columns:1fr;gap:36px}.skills-group[data-astro-cid-u256hdza] h3[data-astro-cid-u256hdza]{margin-bottom:10px}.skills-group[data-astro-cid-u256hdza] p[data-astro-cid-u256hdza]{max-width:none}}:root{--page-bg:#151715;--surface:#20231f;--text-primary:#f1f1ed;--text-secondary:#c4c7be;--text-muted:#a4a99e;--accent:#e2ad68;--content-width:1120px;--page-gutter:clamp(20px, 4.5vw, 64px);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--page-bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}::selection{background:var(--accent);color:var(--page-bg)}a{text-underline-offset:4px}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}main:focus{outline:none}section[id]{scroll-margin-top:112px}.page-section{width:min(var(--content-width), calc(100% - var(--page-gutter) * 2));margin:clamp(100px,11vw,160px) auto 0}.section-intro{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:34px;display:flex}.section-intro h2{letter-spacing:-.055em;margin:0;font-size:clamp(38px,4vw,54px);font-weight:600;line-height:1.05}.section-intro p{max-width:36ch;color:var(--text-secondary);text-align:right;margin:0;font-size:16px;line-height:1.5}.button-link{background:var(--accent);min-height:48px;color:var(--page-bg);justify-content:center;align-items:center;padding:12px 19px;font-size:15px;font-weight:600;text-decoration:none;transition:background-color .18s,transform .18s;display:inline-flex}.button-link:hover{background:#f4c587;transform:translateY(-2px)}.inline-link{color:var(--text-primary);text-decoration-color:var(--accent);font-size:15px;font-weight:600;text-decoration-thickness:2px}.inline-link:hover{color:var(--accent)}.skip-link{z-index:30;background:var(--accent);color:var(--page-bg);padding:12px 16px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;position:relative}.header-inner{width:min(var(--content-width), calc(100% - var(--page-gutter) * 2));justify-content:space-between;align-items:center;gap:28px;min-height:82px;margin:auto;display:flex}.wordmark{color:var(--text-primary);letter-spacing:-.02em;flex-shrink:0;font-size:17px;font-weight:700;text-decoration:none}.site-header nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 28px;display:flex}.site-header nav a{color:var(--text-secondary);font-size:14px;text-decoration:none;transition:color .18s}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--accent)}.site-footer{width:min(var(--content-width), calc(100% - var(--page-gutter) * 2));color:var(--text-muted);justify-content:space-between;gap:24px;margin:120px auto 0;padding:0 0 38px;font-size:14px;display:flex}.site-footer a{color:var(--text-secondary);text-decoration:none}.site-footer a:hover{color:var(--accent)}@media (width<=700px){.header-inner{flex-direction:column;align-items:flex-start;gap:16px;min-height:0;padding-block:22px}.site-header nav{justify-content:flex-start;gap:12px 22px}.page-section{margin-top:94px}.section-intro{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:26px}.section-intro p{text-align:left}.site-footer{margin-top:90px}}@media (width<=450px){.site-header nav{gap:11px 17px}.site-header nav a{font-size:13px}.site-footer{flex-direction:column;gap:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button-link,.site-header nav a{transition:none}.button-link:hover{transform:none}}
