@font-face{font-family:Motter Tektura;src:url(/fonts/Motter%20Tektura%20Normal.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{--font-body: "Avenir Next", "Avenir", "Trebuchet MS", "Segoe UI", sans-serif;--font-display: "Motter Tektura", "Baskerville", "Iowan Old Style", "Palatino Linotype", serif;--text: #162127;--link: #0a5f88;--link-hover: #084d6f;--focus: #1d6ea9;font-family:var(--font-body);line-height:1.58;font-weight:400;color:var(--text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(70rem 45rem at 2% -10%,#eadcc7,transparent 60%),radial-gradient(55rem 40rem at 90% 10%,#d9ece4,transparent 58%),#f5f0e8;color:var(--text)}h1,h2{font-family:var(--font-display);font-weight:400;letter-spacing:.01em}h3,p,li,a,button{font-family:var(--font-body)}a{color:var(--link);text-underline-offset:.2em}a:hover{color:var(--link-hover)}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:.3rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}:root{--bg: #f5f0e8;--surface: rgba(255, 255, 255, .84);--surface-strong: #ffffff;--surface-muted: rgba(255, 255, 255, .62);--surface-border: rgba(20, 37, 44, .16);--text: #162127;--muted: #3f5660;--accent: #0d6f66;--accent-strong: #0a534d;--focus: #1d6ea9;--max-width: 70rem;--radius-lg: 1.25rem;--radius-md: .9rem;--shadow-soft: 0 18px 50px rgba(24, 43, 52, .1)}.skip-link{position:absolute;left:1rem;top:-10rem;z-index:200;padding:.75rem 1rem;border-radius:.6rem;background:#0f1f26;color:#fff;font-weight:650}.skip-link:focus-visible{top:1rem}.topbar{width:min(var(--max-width),92vw);margin:1.5rem auto 0;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand-label{margin:0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}.topbar__nav{display:flex;gap:1rem;align-items:center}.topbar__nav a{color:var(--muted);text-decoration:none;font-size:.94rem;font-weight:550;border-bottom:1px solid transparent}.topbar__nav a:hover{border-bottom-color:currentColor}.site{width:min(var(--max-width),92vw);margin:1rem auto 3rem;display:grid;gap:1.25rem}.card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:clamp(1.25rem,2.3vw,2.1rem)}.hero{padding-top:clamp(1.4rem,3vw,2.6rem);padding-bottom:clamp(1.4rem,3vw,2.6rem)}.hero__eyebrow{margin:0;font-family:var(--font-display);font-size:clamp(1rem,1.5vw,1.2rem);letter-spacing:.04em;color:var(--accent);font-weight:400}.hero h1{margin:.55rem 0 0;font-family:var(--font-body);max-width:34ch;line-height:1.25;font-size:clamp(1.25rem,2.1vw,1.7rem);font-weight:500}.hero__lede{margin:1rem 0 0;max-width:64ch;color:var(--muted)}.hero__meta{margin:1.15rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.55rem}.hero__meta li{padding:.38rem .6rem;border-radius:999px;border:1px solid var(--surface-border);background:var(--surface-muted);font-size:.86rem;color:var(--muted)}.hero__actions,.contact__actions{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.7rem}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid transparent;padding:.7rem 1rem;font-size:.95rem;font-weight:650;text-decoration:none;line-height:1}.button--solid{background:var(--accent);color:#f6fffd}.button--solid:hover{background:var(--accent-strong)}.button--ghost{background:var(--surface-strong);border-color:var(--surface-border);color:var(--text)}.button--ghost:hover{border-color:var(--accent);color:var(--accent)}.hero__cv-note{margin:.9rem 0 0;font-size:.92rem;color:var(--muted)}.hero__cv-note a{font-weight:650}h2{margin:0;font-size:clamp(1.45rem,3vw,2rem);line-height:1.12}.section-intro{margin:.8rem 0 0;max-width:66ch;color:var(--muted)}.work-grid{margin-top:1.2rem;display:grid;gap:.9rem;grid-template-columns:repeat(3,minmax(0,1fr))}.work-card{background:var(--surface-strong);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:1rem}.work-card__label{margin:0;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-weight:700}.work-card h3{margin:.4rem 0 0;font-size:1.12rem}.work-card p{margin:.65rem 0 0;color:var(--muted)}.work-card ul{margin:.75rem 0 0;padding-left:1.1rem;display:grid;gap:.48rem}.work-card li{color:var(--text)}.stack-line{margin-top:.85rem;font-size:.88rem;color:#2e434d}.support-note{margin:1rem 0 0;color:var(--muted)}.experience-list{margin:1.2rem 0 0;padding:0;list-style:none;display:grid}.experience-item{padding:1rem 0;display:grid;grid-template-columns:1fr auto;gap:.35rem 1.25rem}.experience-list li+li .experience-item{border-top:1px solid var(--surface-border)}.experience-item h3{margin:0;font-size:1.04rem}.experience-company,.experience-date,.experience-body{margin:0}.experience-company,.experience-date{color:var(--muted)}.experience-date{font-size:.92rem;font-weight:600}.experience-body{grid-column:1 / -1;margin-top:.25rem}.approach-grid{margin-top:1.2rem;display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}.approach-card,.foundation-card{background:var(--surface-strong);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:1rem}.approach-card h3,.foundation-card h3{margin:0;font-size:1.04rem}.approach-card p{margin:.55rem 0 0;color:var(--muted)}.foundation-grid{margin-top:1.2rem;display:grid;gap:.8rem;grid-template-columns:repeat(4,minmax(0,1fr))}.foundation-card ul{margin:.6rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.45rem}.foundation-card li{padding:.32rem .52rem;border:1px solid var(--surface-border);border-radius:.6rem;background:#faf9f6;font-size:.84rem}.contact p{margin:.85rem 0 0;max-width:68ch;color:var(--muted)}.contact__note{font-size:.92rem}.footer{width:min(var(--max-width),92vw);margin:0 auto 2rem;color:var(--muted);font-size:.9rem}.footer p{margin:0}.footer p+p{margin-top:.35rem}@media(max-width:70rem){.work-grid{grid-template-columns:1fr}.foundation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:48rem){.topbar{flex-direction:column;align-items:flex-start}.topbar__nav{flex-wrap:wrap}.site{margin-top:.8rem}.experience-item,.approach-grid,.foundation-grid{grid-template-columns:1fr}}
