html{scroll-behavior:smooth}body{margin:0}#portfolio-site{--ink:#20242b;--muted:#454b55;--teal:#3156a0;--paper:#fffefb;--wash:#f5f2eb;--line:#d5d1c8;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.7}#portfolio-site *{box-sizing:border-box}#portfolio-site a{color:inherit;text-decoration:none}#portfolio-site a:hover{text-decoration:underline;text-underline-offset:4px}#portfolio-site a:focus-visible,#portfolio-site summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}#portfolio-site p{margin:0 0 18px}#portfolio-site h1,#portfolio-site h2,#portfolio-site h3,#portfolio-site h4{line-height:1.2;margin:0;letter-spacing:-.03em}#portfolio-site h2{font-size:clamp(27px,3.5vw,39px);font-weight:650}#portfolio-site h3{font-size:25px;font-weight:650}#portfolio-site h4{font-size:16px;letter-spacing:0;margin:0 0 12px;font-weight:650}#portfolio-site .skip{position:absolute;left:20px;top:-90px;background:var(--paper);padding:10px;z-index:2}#portfolio-site .skip:focus{top:8px}#portfolio-site .topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 6%;border-bottom:1px solid var(--line)}#portfolio-site .wordmark{font-size:26px;font-weight:750;letter-spacing:-2px}#portfolio-site .wordmark span{color:var(--teal)}#portfolio-site nav{display:flex;gap:25px;flex-wrap:wrap;font-size:14px}#portfolio-site nav a{padding:6px 0}#portfolio-site .hero{background:#f1eee6;color:#20242b;display:grid;grid-template-columns:1.6fr 1fr;gap:60px;padding:64px 6% 56px;align-items:center}#portfolio-site .eyebrow{font-size:12px;font-weight:650;letter-spacing:.13em;color:var(--teal);margin:0 0 20px}#portfolio-site .hero .eyebrow,#portfolio-site .contact-section .eyebrow{color:#3156a0}#portfolio-site h1{font-size:clamp(36px,5vw,62px);font-weight:700;letter-spacing:-.05em}#portfolio-site h1 span{color:#3156a0}#portfolio-site .hero-lead{font-size:clamp(23px,3vw,35px);line-height:1.3;letter-spacing:-.03em;margin-top:23px;margin-bottom:20px}#portfolio-site .hero-summary{max-width:550px;color:#454b55;font-size:16px}#portfolio-site .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}#portfolio-site .action{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid #aeb7c8;padding:12px 18px;border-radius:5px;font-size:14px;font-weight:600}#portfolio-site .primary{background:#3156a0;color:#fff;border-color:#3156a0}#portfolio-site .secondary{color:#20242b;background:#fffefb}#portfolio-site .location{font-size:12px;color:#454b55;margin-top:22px;margin-bottom:0}#portfolio-site .portrait-wrap{max-width:330px;justify-self:end}#portfolio-site .portrait{width:100%;height:auto;max-height:350px;object-fit:cover;object-position:center;border-radius:12px;filter:grayscale(100%)}#portfolio-site .portrait-caption{font-size:13px;color:#454b55;margin-top:16px;line-height:1.5}#portfolio-site .section{padding:60px 6%;scroll-margin-top:20px}#portfolio-site .intro-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:60px}#portfolio-site .intro-grid p{color:var(--muted)}#portfolio-site .section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}#portfolio-site .section-heading>p{font-size:13px;color:var(--muted);margin-bottom:0}#portfolio-site .work-section,#portfolio-site .skills-section{background:var(--wash)}#portfolio-site .case{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:32px;margin-bottom:23px}#portfolio-site .case-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:20px}#portfolio-site .case-heading .eyebrow{margin-bottom:10px}#portfolio-site .case-label{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:6px 12px;white-space:nowrap}#portfolio-site .case-intro{max-width:700px;color:var(--muted)}#portfolio-site .case-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:25px}#portfolio-site .case-columns p,#portfolio-site .case-columns li{font-size:14px;color:var(--muted)}#portfolio-site ul{padding-left:20px;margin-top:0}#portfolio-site li{margin-bottom:8px}#portfolio-site .outcome{display:flex;align-items:center;gap:20px}#portfolio-site .outcome strong{color:var(--teal);font-size:38px;font-weight:650;letter-spacing:-.04em}#portfolio-site .outcome span{font-size:12px;line-height:1.5;max-width:150px}#portfolio-site .text-link{font-size:13px;font-weight:600;color:var(--teal);display:inline-block}#portfolio-site .tags{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:22px 0 0}#portfolio-site .tags li{font-size:12px;color:var(--muted);background:var(--wash);border-radius:4px;padding:5px 10px;margin:0}#portfolio-site summary{list-style:none;display:flex;justify-content:space-between;padding:17px 0;font-weight:600;border-bottom:1px solid var(--line);cursor:pointer}#portfolio-site summary::-webkit-details-marker{display:none}#portfolio-site details[open] summary span{transform:rotate(45deg)}#portfolio-site .project-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:25px}#portfolio-site .project-grid h3{font-size:18px;margin-bottom:10px}#portfolio-site .project-grid p{font-size:13px;color:var(--muted)}#portfolio-site .timeline article{display:grid;grid-template-columns:190px 1fr;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}#portfolio-site .period{font-size:12px;color:var(--muted);padding-top:5px}#portfolio-site .timeline h3{font-size:21px}#portfolio-site .role{font-size:13px;color:var(--teal);font-weight:600;margin:6px 0 10px}#portfolio-site .timeline article p:last-child{font-size:14px;color:var(--muted);margin-bottom:0;max-width:680px}#portfolio-site .education{padding-top:35px}#portfolio-site .education h3{font-size:20px;margin-bottom:18px}#portfolio-site .education p{font-size:13px;color:var(--muted);margin-bottom:10px}#portfolio-site .skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 45px;margin-top:30px}#portfolio-site .skill-grid h3{font-size:17px;margin-bottom:12px}#portfolio-site .skill-grid p{font-size:14px;color:var(--muted)}#portfolio-site .article-meta{display:block;font-size:12px;color:var(--muted);margin-bottom:17px}#portfolio-site .writing-link{display:block;max-width:800px}#portfolio-site .writing-link h2{font-size:30px;margin-bottom:20px}#portfolio-site .writing-link h2 span{color:var(--teal)}#portfolio-site .writing-link p{color:var(--muted);font-size:14px;margin-bottom:0}#portfolio-site .contact-section{background:#f1eee6;color:#20242b}#portfolio-site .contact-section>p:not(.eyebrow){color:#454b55;max-width:640px;margin-top:20px;font-size:14px}#portfolio-site .contact-email{font-size:13px!important;overflow-wrap:anywhere}#portfolio-site .page-footer{display:flex;justify-content:space-between;gap:20px;padding:25px 6%;font-size:12px;color:var(--muted)}
@media(max-width:700px){#portfolio-site .topbar{gap:10px;align-items:start}#portfolio-site nav{gap:8px 15px;justify-content:end;font-size:12px;max-width:260px}#portfolio-site .hero{grid-template-columns:1fr;gap:30px;padding-top:40px}#portfolio-site .portrait-wrap{display:none}#portfolio-site .hero .eyebrow{font-size:12px;line-height:1.6}#portfolio-site .intro-grid,#portfolio-site .case-columns,#portfolio-site .skill-grid,#portfolio-site .project-grid{grid-template-columns:1fr;gap:22px}#portfolio-site .section{padding-top:40px;padding-bottom:40px}#portfolio-site .section-heading{display:block}#portfolio-site .section-heading>p,#portfolio-site .section-heading>.text-link{margin-top:15px}#portfolio-site .case{padding:22px}#portfolio-site .case-heading{display:block}#portfolio-site .case-label{display:inline-block;margin-top:15px}#portfolio-site .timeline article{grid-template-columns:1fr;gap:8px}#portfolio-site .page-footer{flex-wrap:wrap}#portfolio-site .writing-link h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Explicit colors prevent embedded-preview styles from fading the headings. */
#portfolio-site h1,#portfolio-site h2,#portfolio-site h3,#portfolio-site h4{color:#20242b!important;opacity:1!important}
#portfolio-site .eyebrow{color:#234583!important;opacity:1!important}
#portfolio-site .case-label,#portfolio-site .period,#portfolio-site .article-meta,#portfolio-site .tags li{color:#343b45!important;opacity:1!important}
#portfolio-site .role,#portfolio-site .text-link{color:#234583!important;opacity:1!important}
#portfolio-site summary,#portfolio-site .wordmark,#portfolio-site nav a{color:#20242b!important;opacity:1!important}
