:root{--navy:#1e2d52;--ink:#22325a;--muted:#54627b;--blue:#315fa8;--line:#dce3ef;--pale:#f7f9fc;--focus:#be6a00;color:var(--ink);background:#fff;font-family:"Segoe UI",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.6}a{color:var(--blue);text-underline-offset:4px}a:hover{text-decoration:underline}a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}img{max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}.site-wrap{max-width:1140px;margin:14px auto 0;padding:0 18px}.site-header{background:var(--navy);color:#fff;border-radius:16px 16px 0 0;min-height:68px;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-name{color:#fff;text-decoration:none;text-transform:uppercase;font-size:1rem;font-weight:700;letter-spacing:-.025em}.site-name span{font-size:.88em;letter-spacing:0}.site-header nav{display:flex;gap:24px}.site-header nav a{color:#e0e7f5;text-decoration:none;font-size:.9375rem;min-height:36px;display:inline-flex;align-items:center;border-bottom:2px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current]{color:#fff;border-bottom-color:#fff}.skip-link{position:absolute;left:20px;top:0;transform:translateY(-130%);padding:12px 18px;background:#fff;z-index:10}.skip-link:focus{transform:translateY(0)}
.page-main{padding:28px 24px 44px}h1,h2,h3{line-height:1.22;color:var(--ink)}h1{font-size:2.35rem;font-weight:650;margin:0 0 12px;letter-spacing:-.025em}h2{font-size:1.45rem;font-weight:650;margin:0 0 12px}h3{font-size:1.08rem;font-weight:650;margin:0 0 8px}p{margin:0 0 18px}.page-intro{color:var(--muted);font-size:1rem;margin-bottom:24px;max-width:760px}.project-list{display:grid;gap:18px}.project-card{border:1px solid var(--line);border-radius:15px;padding:18px 20px;background:#fff;transition:border-color .15s,box-shadow .15s}.project-card:hover{border-color:#aabbd5;box-shadow:0 4px 16px #1e2d5209}.type-tag{display:inline-flex;border-radius:18px;align-items:center;padding:2px 9px;font-size:.875rem;line-height:1.5;font-weight:600;margin-bottom:12px}.type-tag.course{background:#e8efff;color:#315ac2}.type-tag.tool{background:#eee6fc;color:#6b39a3}.type-tag.flow{background:#e3f2e5;color:#237332}.project-card h2{font-size:1.4rem;margin-bottom:8px}.project-card h2 a{color:var(--ink);text-decoration:none}.project-card p{color:var(--muted);font-size:1rem;margin-bottom:10px}.text-link{font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:32px}.collection-note{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;color:var(--muted);font-size:.9375rem}.collection-note p{margin-bottom:4px}.site-footer{border-top:1px solid var(--line);padding:20px 24px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.875rem;color:var(--muted)}.site-footer p{margin:0}.site-footer nav{display:flex;flex-wrap:wrap;gap:20px}.site-footer a{color:var(--muted);text-decoration:none}.footer-divider{padding:0 6px}
.hero{position:relative;display:flex;flex-direction:column;align-items:center;background:var(--navy);padding:34px 24px 0;min-height:390px}.headshot{height:296px;width:229px;object-fit:contain;display:block}.statement{background:#fff;color:var(--ink);font-size:1.42rem;text-align:center;position:relative;z-index:1;margin:-8px 0 0;padding:14px 24px 10px;max-width:950px;line-height:1.4;font-weight:700;letter-spacing:0}.introduction{text-align:center;padding:10px 28px 36px}.specialties{font-size:1.125rem;font-style:italic;line-height:1.7;margin:0 auto 16px}.specialties span{padding:0 6px}.summary{font-size:1.125rem;max-width:840px;margin:0 auto 22px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--navy);color:#fff;padding:11px 22px;border:1px solid var(--navy);border-radius:6px;text-decoration:none;font-weight:650;min-height:48px}.button:hover{background:#2d4473;text-decoration:none}.button.secondary{color:var(--navy);background:#fff;border-color:#bcc9df}.button.secondary:hover{background:var(--pale)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:20px 0 10px}.action-note{color:var(--muted);font-size:.9375rem;max-width:800px}.breadcrumb{display:inline-flex;align-items:center;min-height:36px;color:var(--muted);font-size:.9375rem;text-decoration:none;margin-bottom:18px}.detail-intro{font-size:1.1rem;color:var(--muted);max-width:880px}.project-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0 34px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-meta dt{font-size:.875rem;color:var(--muted);margin-bottom:4px}.project-meta dd{margin:0;font-weight:600}.detail-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.46fr);gap:48px}.prose{max-width:760px}.prose section{margin-bottom:30px}.prose p,.prose li{color:var(--muted)}.prose ul,.side-panel ul{padding-left:20px;margin:0 0 18px}.prose li{margin-bottom:6px}.side-panel{background:var(--pale);border:1px solid var(--line);border-radius:12px;padding:22px;height:fit-content}.side-panel p,.side-panel li{font-size:.9375rem;color:var(--muted)}.side-panel h2{font-size:1.1rem}.side-panel a{min-height:36px}.artifact-preview{margin:28px 0 0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--pale)}.artifact-preview img{display:block;width:100%;height:auto}.artifact-preview figcaption{padding:12px 16px;font-size:.875rem;color:var(--muted)}.reading-page{max-width:870px;margin:auto}.reading-page .prose{max-width:none}.reading-page h2{margin-top:30px}.revision-entry{border:1px solid var(--line);border-radius:12px;padding:24px;margin:26px 0 32px}.revision-entry .revision-date{font-size:.9375rem;color:var(--muted);margin-bottom:8px}.revision-entry ul{padding-left:20px;color:var(--muted)}
.contact-card{background:var(--navy);color:#fff;border-radius:12px;padding:30px 36px;display:grid;gap:22px;font-style:normal;max-width:880px}.contact-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;align-items:center;padding:12px 0}.contact-label{font-weight:600;font-size:1.1rem}.contact-row a{color:#fff;overflow-wrap:anywhere;font-size:1.08rem;text-decoration:none}.contact-row a:hover{text-decoration:underline}.contact-icon{width:28px;height:28px;vertical-align:middle;margin-right:10px;display:inline-block}.contact-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.contact-intro{margin-bottom:28px}.contact-row a:focus-visible{outline-color:#ffd166}
@media(min-width:1000px){.project-card{padding:20px 24px}.project-list{gap:20px}.page-main{padding-top:36px}.hero{padding-top:38px}}
@media(max-width:760px){.site-wrap{margin-top:8px;padding:0 8px}.site-header{padding:16px 16px;min-height:64px;border-radius:14px 14px 0 0}.site-name{font-size:.9rem}.site-header nav{gap:16px}.page-main{padding:24px 16px 32px}h1{font-size:2.1rem}.project-card{padding:16px}.project-card h2{font-size:1.3rem}.site-footer{padding:20px 16px;flex-direction:column;align-items:flex-start;gap:10px}.site-footer nav{gap:18px}.detail-content{grid-template-columns:1fr;gap:10px}.project-meta{gap:16px;grid-template-columns:1fr 1fr}.project-meta div:last-child{grid-column:1/-1}.hero{padding:28px 16px 0;min-height:0}.headshot{width:216px;height:280px}.statement{font-size:1.28rem;padding:14px 16px 10px;max-width:100%}.introduction{padding:12px 16px 30px}.summary,.specialties{font-size:1rem}.specialties span{padding:0 3px}.contact-card{padding:22px}.contact-row{grid-template-columns:110px minmax(0,1fr);gap:16px}.contact-label,.contact-row a{font-size:1rem}}
@media(max-width:440px){.site-header{flex-wrap:wrap;gap:6px 14px}.site-name{font-size:.86rem}.site-name span{display:block;font-size:.85em}.site-header nav{gap:15px}.site-header nav a{font-size:.875rem}.page-intro{margin-bottom:20px}.project-meta{grid-template-columns:1fr;gap:14px}.project-meta div:last-child{grid-column:auto}.actions{align-items:stretch;flex-direction:column}.actions .button{text-align:center}.contact-row{grid-template-columns:1fr;gap:6px;padding:8px 0}.contact-icon{width:24px;height:24px}.contact-card{padding:22px}.statement{font-size:1.18rem}.type-tag{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card{transition:none}}

.site-name span::before{content:", "}@media(max-width:440px){.site-name span::before{content:""}}

h1,h2,.site-name{overflow-wrap:anywhere}

/* Connect the portrait to the white headline band at every viewport size. */
.hero{min-height:0}.type-tag{max-width:100%}.artifact-details{margin:26px 0}.artifact-details p{margin-bottom:12px}

.contact-icon img{display:block;width:100%;height:100%;object-fit:contain}
