.cv-page,.folio-page,.horizon-page,.studio-page{overflow-wrap:anywhere;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.cv-page :where(h1,h2,h3,h4,p,li,dt,dd,blockquote,a,span,label),.folio-page :where(h1,h2,h3,h4,p,li,dt,dd,blockquote,a,span,label),.horizon-page :where(h1,h2,h3,h4,p,li,dt,dd,blockquote,a,span,label),.studio-page :where(h1,h2,h3,h4,p,li,dt,dd,blockquote,a,span,label){overflow-wrap:anywhere;word-break:break-word;max-width:100%}.cv-page :where(h1,h2,h3,h4),.folio-page :where(h1,h2,h3,h4),.horizon-page :where(h1,h2,h3,h4),.studio-page :where(h1,h2,h3,h4){text-wrap:balance}.cv-page :where(p,li,dd,blockquote),.folio-page :where(p,li,dd,blockquote),.horizon-page :where(p,li,dd,blockquote),.studio-page :where(p,li,dd,blockquote){text-align:justify;text-justify:inter-word;text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto}.cv-page :where(h1,h2,h3,h4,dt,label,button,.cv-eyebrow,.cv-kicker),.folio-page :where(h1,h2,h3,h4,dt,label,button,.folio-eyebrow),.horizon-page :where(h1,h2,h3,h4,dt,label,button,.horizon-kicker,.horizon-band-title),.studio-page :where(h1,h2,h3,h4,dt,label,button,.studio-kicker){text-align:start}.cv-page :where(.flex,.inline-flex)>*,.folio-page :where(.flex,.inline-flex)>*,.horizon-page :where(.flex,.inline-flex)>*,.studio-page :where(.flex,.inline-flex)>*{min-width:0}.cv-page a[href^=mailto\:],.cv-page a[href^=http],.folio-page a[href^=mailto\:],.folio-page a[href^=http],.horizon-page a[href^=mailto\:],.horizon-page a[href^=http],.studio-page a[href^=mailto\:],.studio-page a[href^=http]{overflow-wrap:anywhere;word-break:break-word}@media (max-width:639px){.cv-page .cv-display-xl,.horizon-page .horizon-name,.studio-page .studio-name,.folio-page .folio-rail-name{text-wrap:pretty;line-height:1.05}.cv-page blockquote.cv-italic,.cv-page .cv-heading.text-3xl,.cv-page .cv-heading.text-4xl{font-size:clamp(1.35rem,7vw,1.85rem)!important;line-height:1.25!important}.cv-page #contact .cv-heading{font-size:clamp(1.6rem,8vw,2.1rem)!important}.cv-page #contact .cv-section-body>div>p{font-size:clamp(1.15rem,5.5vw,1.55rem)!important;line-height:1.35!important}}
.folio-page{--folio-ink:#141b24;--folio-paper:#fbfaf6;--folio-muted:#555f69;--folio-line:#d9d7d0;--folio-accent:#00797a;--folio-display:var(--font-folio), "Young Serif", ui-serif, Georgia, serif;--folio-body:var(--font-folio-sans), "Source Sans 3", ui-sans-serif, system-ui, sans-serif;background:var(--folio-paper);min-height:100svh;color:var(--folio-ink);font-family:var(--folio-body);-webkit-font-smoothing:antialiased}@supports (color:lab(0% 0 0)){.folio-page{--folio-ink:lab(9.47796% -1.69583 -6.93499);--folio-paper:lab(98.2976% -.19002 2.27954);--folio-muted:lab(39.6536% -1.99994 -7.04927);--folio-line:lab(86.1418% -.302345 3.80911);--folio-accent:lab(45.3746% -32.7332 -9.78656)}}.dark .folio-page{--folio-ink:#eae8e1;--folio-paper:#0d1218;--folio-muted:#8f9aa4;--folio-line:#2b343d;--folio-accent:#57b6b6}@supports (color:lab(0% 0 0)){.dark .folio-page{--folio-ink:lab(91.9419% -.303984 3.80793);--folio-paper:lab(5.24559% -.9728 -4.53259);--folio-muted:lab(62.8575% -2.07287 -7.08296);--folio-line:lab(21.0871% -1.87351 -6.99708);--folio-accent:lab(68.4759% -29.4169 -8.91342)}}.folio-shell{min-height:100svh;display:grid}@media (min-width:960px){.folio-shell{grid-template-columns:17rem minmax(0,1fr)}}@media (min-width:1280px){.folio-shell{grid-template-columns:18rem minmax(0,1fr)}}.folio-rail{background:var(--folio-ink);color:#f4f2ea;color:lab(95.4219% -.304878 3.80731);flex-direction:column;gap:1.25rem;padding:1.25rem 1.15rem 1.35rem;display:flex}.dark .folio-rail{background:#02060d;background:lab(1.53827% -.389941 -2.97685)}@media (min-width:960px){.folio-rail{align-self:start;gap:0;min-height:100svh;padding:1.35rem 1.25rem 1.5rem;position:sticky;top:0}}.folio-rail-top{flex-direction:column;gap:1.15rem;min-width:0;display:flex}.folio-rail-brand{width:fit-content;color:inherit;opacity:.78;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #ffffff24;border-bottom:1px solid lab(100% 0 0/.14);align-items:center;gap:.45rem;margin-bottom:.1rem;padding-bottom:.85rem;font-size:.62rem;font-weight:700;text-decoration:none;display:inline-flex}.folio-rail-brand:hover{opacity:1}.folio-rail-identity{flex-direction:column;gap:.45rem;min-width:0;display:flex}.folio-rail-photo{background:#ffffff1a;background:lab(100% 0 0/.1);border:1px solid #ffffff1f;border:1px solid lab(100% 0 0/.12);border-color:oklch(100% 5.96046e-8 none/.12) oklch(100% 5.96046e-8 none/.12) oklch(100% 5.96046e-8 none/.12) oklch(100% 5.96046e-8 none/.12);border-radius:.9rem;width:5.75rem;height:5.75rem;margin-bottom:.7rem;position:relative;overflow:hidden}.folio-rail-photo img{object-fit:cover;object-position:top;width:100%;height:100%}.folio-rail-initials{height:100%;font-family:var(--folio-display);opacity:.7;place-items:center;font-size:1.45rem;display:grid}.folio-rail-name{font-family:var(--folio-display);letter-spacing:-.015em;overflow-wrap:anywhere;word-break:break-word;margin:0;font-size:clamp(1.3rem,2vw,1.55rem);font-weight:400;line-height:1.2}.folio-rail-title{color:#ffffffad;color:lab(100% 0 0/.68);overflow-wrap:anywhere;margin:0;font-size:.8rem;line-height:1.4}.folio-rail-nav{border-top:1px solid #ffffff24;border-top:1px solid lab(100% 0 0/.14);gap:.1rem;margin:0;padding:.85rem 0 0;display:none}@media (min-width:960px){.folio-rail-nav{display:grid}}.folio-rail-nav a{letter-spacing:.06em;text-transform:uppercase;color:#ffffff85;color:lab(100% 0 0/.52);border-radius:.45rem;padding:.38rem .55rem .38rem .7rem;font-size:.7rem;text-decoration:none;transition:color .14s,background-color .14s;display:block;position:relative}.folio-rail-nav a:hover{color:#fff;background:#ffffff0f;background:lab(100% 0 0/.06)}.folio-rail-nav a.is-active{color:#fff;background:#ffffff17;background:lab(100% 0 0/.09)}.folio-rail-nav a.is-active:before{content:"";background:var(--folio-accent);border-radius:999px;width:2px;position:absolute;top:.45rem;bottom:.45rem;left:.2rem}.folio-rail-meta{color:#ffffff9e;color:lab(100% 0 0/.62);border-top:1px solid #ffffff24;border-top:1px solid lab(100% 0 0/.14);gap:.55rem;margin-top:auto;padding-top:1rem;font-size:.74rem;line-height:1.35;display:grid}.folio-rail-meta>*{align-items:flex-start;gap:.45rem;min-width:0;display:flex}.folio-rail-meta a{color:inherit;overflow-wrap:anywhere;text-decoration:none}.folio-rail-meta a:hover{color:#fff}.folio-main{padding:1.5rem 1.25rem 3rem}@media (min-width:640px){.folio-main{padding:2rem 2rem 3.5rem}}@media (min-width:1100px){.folio-main{padding:2.25rem clamp(2rem,4vw,3.5rem) 4rem}}.folio-doc{width:100%;max-width:none}.folio-intro{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;margin-bottom:.25rem;display:flex}.folio-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--folio-accent);margin:0;font-size:.7rem;font-weight:600}.folio-lead{max-width:42rem;font-family:var(--folio-display);color:color-mix(in oklch, var(--folio-ink) 88%, transparent);margin:.55rem 0 0;font-size:1.15rem;line-height:1.45}.folio-actions{flex-wrap:wrap;gap:.55rem;margin:0;display:flex}.folio-btn{border:1px solid var(--folio-ink);background:var(--folio-ink);height:2.35rem;color:var(--folio-paper);border-radius:999px;align-items:center;gap:.4rem;padding:0 1rem;font-size:.85rem;font-weight:550;text-decoration:none;display:inline-flex}.folio-btn-ghost{color:var(--folio-ink);background:0 0}.folio-btn:hover{opacity:.9}.folio-section{border-top:1px solid var(--folio-line);padding:1.5rem 0 .25rem}.folio-section:first-of-type{margin-top:1.25rem}.folio-section h2{font-family:var(--folio-display);letter-spacing:-.015em;margin:0 0 .85rem;font-size:1.25rem;font-weight:400}.folio-prose{max-width:48rem;color:color-mix(in oklch, var(--folio-ink) 86%, transparent);overflow-wrap:anywhere;margin:0;font-size:.95rem;line-height:1.65}.folio-prose+.folio-prose{margin-top:.65rem}.folio-timeline{border-left:2px solid var(--folio-line);gap:1.15rem;max-width:52rem;padding-left:1.1rem;display:grid}.folio-job{position:relative}.folio-job:before{content:"";background:var(--folio-accent);border-radius:999px;width:8px;height:8px;position:absolute;top:.35rem;left:calc(-1.1rem - 5px)}.folio-job-role{font-family:var(--folio-display);overflow-wrap:anywhere;margin:0;font-size:1.05rem;font-weight:400}.folio-job-meta{color:var(--folio-muted);overflow-wrap:anywhere;margin:.2rem 0 .5rem;font-size:.8rem}.folio-list{color:color-mix(in oklch, var(--folio-ink) 86%, transparent);margin:0;padding-left:1.1rem;font-size:.9rem;line-height:1.55}.folio-list li+li{margin-top:.2rem}.folio-edu{gap:1rem 2rem;display:grid}@media (min-width:720px){.folio-edu{grid-template-columns:repeat(2,minmax(0,1fr))}}.folio-edu-item p{margin:0;font-size:.92rem;line-height:1.45}.folio-edu-item .folio-muted{color:var(--folio-muted);margin-top:.15rem;font-size:.8rem}.folio-skills{gap:1rem 2rem;display:grid}@media (min-width:720px){.folio-skills{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.folio-skills{grid-template-columns:repeat(3,minmax(0,1fr))}}.folio-skill-label{letter-spacing:.12em;text-transform:uppercase;color:var(--folio-muted);margin:0 0 .3rem;font-size:.68rem;font-weight:650}.folio-skill-line{margin:0;font-size:.9rem;line-height:1.5}.folio-projects{gap:1rem 1.25rem;display:grid}@media (min-width:720px){.folio-projects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1200px){.folio-projects{grid-template-columns:repeat(3,minmax(0,1fr))}}.folio-project{border:1px solid var(--folio-line);background:color-mix(in oklch, var(--folio-paper) 92%, var(--folio-ink));border-radius:.85rem;flex-direction:column;height:100%;display:flex;overflow:hidden}.folio-project .cv-project-card-button{flex-direction:column;flex:1;min-height:100%;display:flex}.folio-project-media{aspect-ratio:16/10;background:var(--folio-line);position:relative}.folio-project-media img{object-fit:cover;object-position:center;width:100%;height:100%}.folio-project-body{flex-direction:column;flex:1;gap:.35rem;padding:.85rem .95rem 1rem;display:flex}.folio-project-body .cv-project-card-title{font-size:.95rem;font-weight:600;line-height:1.3}.folio-project-body .cv-project-card-blurb{color:var(--folio-muted);font-size:.82rem;line-height:1.5}.folio-project-body .cv-project-card-link{color:inherit}.folio-cert-grid{gap:1rem 1.25rem;display:grid}@media (min-width:720px){.folio-cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1200px){.folio-cert-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.folio-lang{flex-wrap:wrap;gap:.45rem 1.35rem;font-size:.9rem;display:flex}.folio-lang span{color:var(--folio-muted)}.folio-contact-row{flex-wrap:wrap;gap:.45rem 1.35rem;font-size:.92rem;display:flex}.folio-contact-row a{color:inherit;text-underline-offset:.15em;text-decoration:underline}.folio-footer{border-top:1px solid var(--folio-line);color:var(--folio-muted);margin-top:2.25rem;padding-top:1.1rem;font-size:.75rem}.folio-footer a{color:inherit}
