@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');

:root{--ink:#13282b;--muted:#566664;--paper:#fafbf9;--line:#d8dfda;--accent:#ff835c;--mint:#d9eadf;--body:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #d6572e;outline-offset:7px}a:hover{text-decoration:underline;text-underline-offset:5px}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--display);line-height:1.15}h2{font-size:clamp(2rem,3.1vw,3rem);font-weight:650;letter-spacing:-.055em}h2 em{font-style:normal;color:var(--muted)}h3{font-size:1.35rem;font-weight:650;letter-spacing:-.025em}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em}.skip-link{position:absolute;left:1rem;top:-5rem;padding:.7rem 1rem;background:white;z-index:5}.skip-link:focus{top:1rem}.header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 6%}.wordmark{font:800 1.9rem var(--display);letter-spacing:-.09em}.wordmark span{color:#bf4925}nav{display:flex;gap:2rem;align-items:center;font-size:.875rem;font-weight:550}.nav-contact{margin-left:1rem}.nav-contact span{margin-left:.5rem}.hero{background:var(--ink);color:var(--paper);padding:4.8rem 6% 0;display:grid;grid-template-columns:1.1fr 1fr;column-gap:7%;overflow:hidden}.hero-main{max-width:650px;justify-self:end;width:100%}.hero .eyebrow{color:#c1d6cd;display:flex;align-items:center;gap:.7rem}.location-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}h1{font-size:clamp(5rem,10.6vw,10rem);font-weight:650;letter-spacing:-.08em;line-height:.95;margin:2.1rem 0}h1>span:not(.name-period){color:var(--mint)}.name-period{color:var(--accent)}.hero-description{font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.45;color:#bdceca;letter-spacing:-.025em}.hero-description strong{color:var(--paper);font-weight:500}.hero-link{display:inline-flex;gap:2rem;margin-top:2.5rem;font-size:.875rem;border-bottom:1px solid #78928b;padding-bottom:.5rem}.hero-link span{color:var(--accent)}.hero-aside{max-width:510px;display:flex;flex-direction:column;justify-content:center}.intersection{height:277px;position:relative;width:350px;align-self:center;margin-bottom:2rem}.orbit{position:absolute;border:1px solid #6e9187;border-radius:50%;height:190px;width:190px;top:0;left:25px}.orbit-two{left:133px}.orbit-three{top:87px;left:79px}.orbit-label{position:absolute;width:110px;transform:translate(-50%,-50%);font-size:10px;letter-spacing:.13em;line-height:1.6;text-align:center;color:#c4d6cc}.label-one{top:60px;left:94px}.label-two{top:60px;left:254px}.label-three{top:231px;left:174px}.intersection-center{position:absolute;left:174px;top:128px;transform:translate(-50%,-50%);font:650 1.2rem var(--display);color:var(--accent)}.intro{font-size:1.1rem;line-height:1.8;color:#c6d4cf;max-width:420px}.hero-facts{display:flex;gap:2.5rem;margin-top:2rem;border-top:1px solid #3a504e;padding-top:1.4rem}.hero-facts>div{display:flex;gap:.8rem;align-items:center}.hero-facts strong{font:500 2.2rem var(--display);color:var(--accent);letter-spacing:-.07em}.hero-facts span{font-size:.75rem;line-height:1.55;color:#c6d4cf}.hero-bottom{grid-column:1/-1;display:flex;gap:2.4rem;border-top:1px solid #3a504e;margin-top:4rem;padding:1.3rem 0;font-size:.65rem;letter-spacing:.13em;color:#b7cdc4}.hero-year{margin-left:auto}.section{max-width:1440px;margin:auto;padding:6rem 6%;display:grid;grid-template-columns:1fr 2fr;gap:6%}.section-heading .eyebrow{margin-bottom:1.5rem;color:var(--muted)}.section-heading>p:last-child:not(.eyebrow){margin-top:1.5rem;color:var(--muted);font-size:.9rem}.timeline{border-left:1px solid var(--line);padding-left:2rem}.role{position:relative;display:grid;grid-template-columns:155px 1fr;gap:1.6rem;padding:0 0 2.5rem;margin-bottom:2.5rem;border-bottom:1px solid var(--line)}.role:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.role:before{content:'';position:absolute;left:calc(-2rem - 5px);top:7px;width:9px;height:9px;background:var(--paper);border:2px solid var(--ink);border-radius:50%}.role:first-child:before{background:#ce5630;border-color:#ce5630}.role-meta{font-size:.75rem}.role-meta p{font-weight:650}.role-meta span{color:var(--muted)}.company{color:#a23e20;font-size:.875rem;font-weight:650;margin-bottom:.55rem}.role-content>p:not(.company){color:var(--muted);margin-top:1rem;line-height:1.7}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:1.2rem 0 0}.tags li{padding:.2rem .65rem;border:1px solid var(--line);font-size:.75rem;border-radius:4px;line-height:1.6}.education-section{background:#eaf0ec;padding:5rem 6%}.section-top{max-width:1268px;display:flex;justify-content:space-between;align-items:flex-end;margin:0 auto 3rem;gap:2rem}.section-top .eyebrow{margin-bottom:1.3rem;color:var(--muted)}.education-note{color:var(--muted);font-size:.9rem}.education-grid{max-width:1268px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.degree{position:relative;overflow:hidden;background:var(--paper);padding:2rem 2rem 3rem;min-height:355px;border-top:3px solid var(--ink)}.degree-top{display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.75rem;letter-spacing:.08em;font-weight:650}.honour{border:1px solid #9db5a6;border-radius:100px;padding:.2rem .7rem;color:#315640;letter-spacing:0}.degree-date{color:var(--muted);font-size:.8rem;margin:1.7rem 0 .7rem}.degree h3{font-size:clamp(1.5rem,2.4vw,2.2rem);margin-bottom:1.2rem;max-width:95%}.degree>p:not(.degree-date){font-size:.875rem;color:var(--muted);max-width:90%}.thesis{margin-top:1rem}.thesis span{display:block;font-style:italic}.degree-number{position:absolute;right:1rem;bottom:-.7rem;font:650 5rem var(--display);line-height:1;color:#e7ede8;pointer-events:none}.skill-group{display:flex;gap:1.5rem;padding:0 0 2rem;border-bottom:1px solid var(--line);margin-bottom:2rem}.skill-index{display:grid;place-items:center;flex-shrink:0;background:#eaf0ec;width:35px;height:35px;font-size:.875rem;font-weight:600}.skill-group p{color:var(--muted);margin-top:.7rem}.languages h3{font-size:1rem}.languages dl{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0 0}.languages dl>div{border-top:2px solid #9cb5a6;padding-top:.6rem}.languages dt{font-weight:550}.languages dd{margin:0;color:var(--muted);font-size:.875rem}.community-section{border-top:1px solid var(--line);padding:5rem 6%;max-width:1440px;margin:auto}.community-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:1268px;margin:auto}.community-grid article{border-top:2px solid var(--ink);padding-top:1.2rem}.community-date{font-size:.75rem;color:var(--muted);margin-bottom:.9rem}.community-grid h3{font-size:1.2rem;margin-bottom:.6rem}.community-grid article>p:last-child{font-size:.875rem;color:var(--muted)}.interests{max-width:1268px;margin:3rem auto 0;padding-top:2rem;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:2rem}.interests h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.8rem}.interests p{color:var(--muted)}.interests p span{padding:0 .5rem;color:#adb9b0}footer{background:var(--ink);color:var(--paper);padding:4rem 6% 1.5rem}footer>div{max-width:1268px;margin:auto}footer .eyebrow{color:#b7cdc4;margin-bottom:1.2rem}footer h2{font-size:clamp(2rem,4.5vw,4.5rem)}footer h2 span{color:var(--accent)}.email{display:inline-flex;gap:3rem;align-items:center;font-size:clamp(1rem,2vw,1.5rem);margin-top:1.5rem;color:var(--mint);border-bottom:1px solid #607871;padding-bottom:.5rem}.email span{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #3a504e;margin-top:4rem;padding-top:1.5rem;color:#b7cdc4;font-size:.75rem}
.org-logo{display:flex;align-items:center;justify-content:center;width:144px;height:64px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:8px;flex-shrink:0;overflow:hidden}.org-logo img{display:block;max-width:100%;width:100%;height:100%;object-fit:contain}.org-logo-dark{background:#182c35;border-color:#182c35}.role-meta .org-logo{margin-bottom:1rem}.org-logo-university{width:126px;height:48px;padding:5px;background:transparent;border:none;border-radius:0;justify-content:flex-start}.org-logo-university img{object-position:left center}.community-grid .org-logo,.org-logo-pair{margin-bottom:1.4rem}.org-logo-pair{display:flex;gap:10px;height:64px}.org-logo-pair .org-logo{margin:0}.org-logo-square{width:64px;padding:7px}.startup-exploration{position:relative;padding-right:166px;min-height:64px}.startup-exploration>.org-logo{position:absolute;right:0;top:0}.startup-exploration>.org-logo img{height:auto}.degree-top{flex-wrap:wrap}
@media(min-width:701px) and (max-width:1000px){.role-meta{flex-wrap:wrap;align-items:center}.role-meta .org-logo{margin:0 .3rem .6rem 0}}
@media(max-width:700px){.role-meta{flex-wrap:wrap;align-items:center}.role-meta .org-logo{margin:0 0 .8rem;flex-basis:144px}.role-meta>p{flex-basis:calc(100% - 160px)}.role-meta>span:not(.org-logo){display:block;width:100%;margin-top:-.6rem;margin-bottom:.3rem}.community-grid .org-logo{max-width:100%}.startup-exploration{padding-right:0}.startup-exploration>.org-logo{position:static;margin-bottom:1rem}.org-logo-university{width:116px}}
@media print{.org-logo{break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}.role-meta .org-logo{margin-bottom:.5rem;width:110px;height:45px}.community-grid .org-logo,.org-logo-pair{margin-bottom:.6rem}}
@media(min-width:1600px){.hero{padding-left:calc((100vw - 1268px)/2);padding-right:calc((100vw - 1268px)/2)}}
@media(max-width:1000px){.hero{column-gap:3%;padding-top:3.5rem}.intersection{transform:scale(.85);margin-bottom:.5rem}.hero-facts{gap:1rem}.hero-facts>div{align-items:flex-start}.hero-facts span{max-width:135px}.role{grid-template-columns:1fr;gap:.5rem}.role-meta{display:flex;gap:1rem}.section{grid-template-columns:1fr 1.8fr;gap:4%}.community-grid{grid-template-columns:1fr 1fr}.hero-bottom{gap:1.3rem;font-size:.6rem}.hero-year{display:none}}
@media(max-width:700px){.header{padding:1.2rem 6%}nav{gap:1rem;font-size:.8rem}.nav-contact{display:none}.wordmark{font-size:1.6rem}.hero{grid-template-columns:1fr;padding-top:2.7rem}.hero-main{justify-self:start}h1{font-size:clamp(5rem,22vw,8rem);margin:1.8rem 0}.hero-description{font-size:1.4rem}.hero-link{margin-top:1.8rem}.hero-aside{margin-top:2.5rem;max-width:100%}.intersection{display:none}.intro{max-width:100%;font-size:1rem}.hero-facts{gap:2rem}.hero-facts>div{align-items:center}.hero-bottom{margin-top:2.5rem;flex-wrap:wrap;gap:.5rem 1.4rem;font-size:.6rem}.section{padding:3.5rem 6%;grid-template-columns:1fr;gap:2.5rem}.section-heading .eyebrow{margin-bottom:1rem}.timeline{padding-left:1.5rem;margin-left:4px}.role:before{left:calc(-1.5rem - 5px)}.role{margin-bottom:2rem;padding-bottom:2rem}.education-section{padding:3.5rem 6%}.section-top{margin-bottom:2rem}.education-note{display:none}.education-grid{grid-template-columns:1fr}.degree{padding:1.5rem 1.5rem 2.5rem;min-height:0}.degree h3{font-size:1.8rem}.degree>p:not(.degree-date){max-width:100%}.degree-number{font-size:3rem}.languages dl{grid-template-columns:1fr 1fr}.community-section{padding:3.5rem 6%}.community-grid{gap:2rem 1.2rem}.interests{grid-template-columns:1fr;gap:1.5rem}.skill-group{gap:1rem}footer{padding-top:3rem}.footer-bottom{margin-top:3rem;flex-wrap:wrap}.email{gap:1rem}}
@media(max-width:380px){nav{gap:.65rem}.community-grid{grid-template-columns:1fr}.hero-facts{gap:1rem}.hero-facts>div{gap:.5rem}.degree-top{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{font-size:10pt;background:white;color:black}.header,nav,.hero-link,.intersection,.hero-bottom,.skip-link{display:none}.hero{background:white;color:black;padding:0;display:block}.hero-main{max-width:none}h1{font-size:36pt;margin:0;line-height:1.2}h1 br{display:none}h1>span:not(.name-period){color:black}h1>span:not(.name-period):before{content:' '}.hero-description,.hero-description strong,.hero .eyebrow,.intro{color:black}.hero-description{font-size:14pt}.hero-description br{display:none}.hero-aside{margin:1rem 0;max-width:none}.hero-facts{display:none}.section,.education-section,.community-section{display:block;padding:1rem 0;background:white}.section-heading{margin-bottom:1rem}h2{font-size:19pt}h2 br{display:none}h2 em:before{content:' '}.timeline{border:0;padding:0}.role{display:grid;grid-template-columns:145px 1fr;gap:1rem;padding-bottom:1rem;margin-bottom:1rem;break-inside:avoid}.role:before{display:none}.role-content>p:not(.company){margin-top:.3rem}.tags{margin-top:.4rem}.education-grid,.community-grid{display:grid;grid-template-columns:1fr 1fr}.degree{padding:1rem;min-height:0;break-inside:avoid}.degree h3{font-size:16pt}.degree-number{display:none}.skill-group{padding-bottom:.7rem;margin-bottom:.7rem;break-inside:avoid}.languages dl{grid-template-columns:repeat(4,1fr)}.community-grid article{break-inside:avoid}.section-top{margin-bottom:1rem}.interests{margin-top:1rem;padding-top:1rem;grid-template-columns:1fr 1fr}footer{padding:1rem 0;background:white;color:black}footer .eyebrow,.email{color:black}footer h2{font-size:19pt}.footer-bottom{display:none}.email{font-size:12pt;margin-top:.5rem}}

/* Keep the portrait alongside the name, with a centered, non-destructive crop. */
.hero-identity{display:grid;grid-template-columns:minmax(0,1fr) clamp(104px,12vw,176px);align-items:center;gap:1.2rem}
.hero-identity h1{font-size:clamp(4rem,8.5vw,8.2rem)}
.portrait{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%;border-radius:12px;border:1px solid #607871;box-shadow:0 12px 32px #0002}
@media(max-width:700px){.hero-identity{grid-template-columns:minmax(0,1fr) clamp(104px,28vw,176px);gap:1rem}.hero-identity h1{font-size:clamp(3.5rem,17vw,7.5rem)}.portrait{border-radius:9px}}
@media print{.hero-identity{display:flex;justify-content:space-between;gap:1rem}.hero-identity h1{font-size:36pt}.portrait{width:64px;box-shadow:none;border-radius:4px}}
