:root{color-scheme:light;--bg:#f5f7fb;--surface:#ffffffdb;--surface-strong:#fff;--border:#0f172a17;--text:#15202b;--muted:#5f6c7b;--accent:#2f6fb3;--accent-2:#0f766e;--shadow:0 1rem 2.5rem #0f172a14;--radius:1.25rem;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at top, #1f6feb1a, transparent 28%), linear-gradient(180deg, #fff 0%, var(--bg) 100%);margin:0}a{color:inherit;text-decoration:none;transition:color .14s,background-color .14s,box-shadow .14s}a:hover,a:focus-visible{color:var(--accent)}a:hover:not(.button):not(.project-button),a:focus-visible:not(.button):not(.project-button){box-shadow:none}p a,li a{color:var(--accent);text-underline-offset:.14em;font-weight:600;text-decoration:underline 1px}p a:hover,p a:focus-visible,li a:hover,li a:focus-visible{background:#1f6feb14;border-radius:.2rem}.site-shell{width:min(1120px,100% - 2rem);margin-inline:auto}.site-header{border-bottom:1px solid var(--border);padding:1.25rem 0 .5rem}.site-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.site-brand{letter-spacing:-.03em;font-weight:800;text-decoration:none}.site-nav{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{border:1px solid var(--border);color:var(--muted);background:#ffffffb8;border-bottom:0;border-radius:.9rem .9rem 0 0;align-items:center;padding:.5rem .85rem;font-weight:700;text-decoration:none;display:inline-flex}.site-nav a.active,.site-nav a:hover{color:var(--text);background:var(--surface-strong)}main{padding:1rem 0 2rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.error-404{grid-template-columns:1fr minmax(280px,.95fr);align-items:center;gap:1.25rem;display:grid}.error-404 h1{letter-spacing:-.05em;margin:.2rem 0 .75rem;font-size:clamp(2rem,4vw,3.5rem);line-height:1.02}.error-404-copy{gap:.5rem;display:grid}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:1.5rem;display:grid}.home-hero{grid-template-columns:1fr;align-items:start}.hero-copy{flex-direction:column;justify-content:center;display:flex}.quote-panel{align-content:start;gap:.9rem;display:grid}.eyebrow{color:var(--text);letter-spacing:-.01em;margin:0;font-size:.95rem;font-weight:800}.hero h1{letter-spacing:-.05em;margin:0 0 .75rem;font-size:clamp(2rem,4vw,4rem);line-height:1.02}.lead{color:var(--muted);font-size:1.05rem;line-height:1.75}.hero-media{align-content:start;gap:.9rem;width:min(100%,24rem);margin:.25rem auto;display:grid}.image-caption-figure{gap:.5rem;margin:0;display:grid}.image-caption{color:var(--muted);text-align:center;margin:0;font-size:.92rem;line-height:1.4}.hero-photo{border:1px solid var(--border);width:100%;height:auto;box-shadow:var(--shadow);border-radius:1rem;display:block}.error-photo-card{gap:.65rem;margin:0;display:grid}.error-photo-link{display:block}.error-photo{border:1px solid var(--border);width:100%;height:auto;box-shadow:var(--shadow);border-radius:1rem;display:block}.error-photo-caption{text-align:center;color:var(--muted);font-size:.9rem}.error-photo-caption a{font-weight:700;display:inline-block}.hero-media-copy{color:var(--muted);margin:0;line-height:1.7}.section-heading{gap:.35rem;margin-bottom:1rem;display:grid}.section-heading h2{margin:0;font-size:clamp(1.5rem,2.3vw,2.4rem)}.site-breadcrumbs{margin:.9rem 0 0;padding-bottom:.9rem}.site-breadcrumbs-list{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.site-breadcrumbs-separator{color:var(--muted);line-height:1}.site-breadcrumbs-list a{color:var(--muted);text-decoration:none}.site-breadcrumbs-list .current{color:var(--text)}.site-main{gap:1.25rem;display:grid}.site-prose{max-width:100%}.site-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.site-card{background:var(--surface-strong);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1.1rem}.site-card-body{padding:1.15rem}.site-flow-root{display:flow-root}.site-card h2,.site-card h3{color:var(--text);margin:0 0 .85rem}.site-card p,.site-card li{color:var(--muted);line-height:1.82}.site-card p+p,.site-card ul,.site-card ol{margin-top:.9rem}.contact-linkedin{align-items:center;gap:.4rem;display:inline-flex}.contact-linkedin-icon{flex:none}.site-card ul,.site-card ol{padding-left:1.25rem}.site-tag{color:var(--accent);letter-spacing:.08em;align-items:center;font-size:.95rem;font-weight:800;display:inline-flex}.site-chip-list{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.site-chip{color:var(--text);background:#0f172a0a;border-radius:999px;align-items:center;padding:.35rem .75rem;font-size:.85rem;font-weight:700;display:inline-flex}.site-portrait{border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1rem}.site-float-right{float:right!important;width:min(160px,35%)!important;margin:0 0 1rem 1rem!important;display:block!important}.site-float-right picture,.site-float-right img{width:100%;height:auto;display:block}.site-image-full{border:1px solid var(--border);width:100%;height:auto;box-shadow:var(--shadow);border-radius:1rem;margin-top:1rem;display:block}.site-center{text-align:center}.site-section{gap:1rem;display:grid}.site-grid-2-aside{grid-template-columns:minmax(0,1fr) minmax(120px,150px);align-items:start}.site-anchor-nav{justify-content:center}.site-anchor-target{scroll-margin-top:8.5rem}.curriculum-page{display:block}.curriculum-page>*+*{margin-top:1.25rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-card{grid-template-columns:minmax(170px,.85fr) minmax(0,1.65fr);align-items:stretch;gap:0;padding:0;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;overflow:hidden}.project-card:hover{border-color:#1f6feb2e;transform:translateY(-3px);box-shadow:0 1.35rem 2.8rem #0f172a1f}.project-image-link{background:linear-gradient(135deg,#1f6feb1f,#0f766e1f);border-right:1px solid #0f172a14;justify-content:center;align-items:center;min-height:100%;padding:1rem;display:flex}.project-image{object-fit:contain;object-position:center;width:100%;max-width:180px;height:auto;max-height:120px;display:block}.project-body{flex-direction:column;justify-content:center;gap:.8rem;padding:1.25rem 1.15rem;display:flex}.project-heading{gap:.35rem;display:grid}.project-title{margin:0;font-size:1.25rem;line-height:1.15}.project-title a{text-decoration:none}.project-subtitle{color:var(--muted);letter-spacing:0;margin:0;font-size:.95rem;font-style:normal;font-weight:600}.project-description{margin:0;font-size:.98rem}.project-tags{flex-wrap:wrap;gap:.4rem;margin-top:.25rem;display:flex}.project-tags span{border:1px solid var(--border);background:var(--surface-strong);color:var(--text);border-radius:999px;padding:.3rem .6rem;font-size:.82rem;font-weight:600}.contact-card .project-description{font-size:1rem}.project-skeleton{min-height:100%}.badge-row{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.home-pills{margin:0 0 1rem}.badge-links-centered{justify-content:center}.badge-links a{color:var(--accent);background:#1f6feb14;border-radius:999px;align-items:center;padding:.35rem .75rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.badge-links a:hover,.badge-links a:focus{background:#1f6feb24}.badge-row span{color:var(--text);background:#0f172a0f;border-radius:999px;padding:.35rem .75rem;font-size:.85rem;font-weight:700}.section{margin-top:1.5rem}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.card{background:var(--surface-strong);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1.1rem;padding:1.1rem}.card h2,.card h3{margin-top:0}.site-footer{color:var(--muted);text-align:center;margin:2rem 0 1rem}@media (width<=900px){.hero,.project-grid,.grid-3,.site-grid-2,.project-card{grid-template-columns:1fr}.project-body{order:1}.project-image-link{aspect-ratio:16/9;border-top:0;border-bottom:1px solid #0f172a14;border-right:0;order:2;min-height:0}.project-image{width:100%;max-width:100%;max-height:220px}.hero-media{width:100%;margin:0}.site-float-right{float:none;width:min(220px,100%);margin:0 0 1rem}.site-anchor-nav{justify-content:center}}@media (width<=640px){.site-topbar{align-items:flex-start}.site-nav{justify-content:flex-start}}
