:root{--paper:#f7f8fa;--ink:#182433;--blue:#245ac6;--blue-hover:#19489f;--muted:#4e5c6a;--line:#d6dce3;--white:#fff;--surface:#fff;--button-text:#fff;--input-border:#8b98a6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f8fa;background:var(--paper);color:#182433;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-synthesis:none}:root[data-theme=dark]{--paper:#111923;--ink:#e6edf5;--blue:#8bb4ff;--blue-hover:#b1ceff;--muted:#acbacb;--line:#344252;--surface:#1c2836;--button-text:#111923;--input-border:#64768b}html{transition:background-color .24s ease,color .24s ease}.theme-toggle{background:#0000;border:0;border-radius:50%;color:#4e5c6a;color:var(--muted);cursor:pointer;display:grid;flex-shrink:0;height:44px;overflow:hidden;padding:0;place-items:center;position:relative;transition:color .24s ease;width:44px}.theme-toggle:hover{color:#245ac6;color:var(--blue)}.theme-icon{height:18px;position:absolute;transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .24s ease;width:18px}.theme-sun{opacity:1;transform:rotate(0) scale(1)}.theme-moon{opacity:0;transform:rotate(-90deg) scale(.4)}[data-theme=dark] .theme-sun{opacity:0;transform:rotate(90deg) scale(.4)}[data-theme=dark] .theme-moon{opacity:1;transform:rotate(0) scale(1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-size:16px;line-height:1.7;margin:0}a{color:inherit;text-decoration:none;text-underline-offset:5px}a:hover{text-decoration:underline}button,input,textarea{font:inherit}a,button,input,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #245ac6;outline:3px solid var(--blue);outline-offset:5px}figure,h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;font-weight:500}h1{font-size:clamp(2.5rem,5.5vw,5rem);letter-spacing:-.055em;line-height:1.05}h2{font-size:clamp(1.7rem,3vw,2rem);letter-spacing:-.04em;line-height:1.2}h3{font-size:1.5rem;letter-spacing:-.03em;line-height:1.25}.site-shell{margin:auto;max-width:1440px;padding:0 clamp(24px,6.3vw,90px)}.site-header{align-items:center;border-bottom:1px solid #d6dce3;border-bottom:1px solid var(--line);display:flex;gap:24px;justify-content:space-between;padding:24px 0}.wordmark{align-items:center;display:inline-flex;font-size:17px;font-weight:600;gap:5px;letter-spacing:-.04em;min-height:44px}.wordmark span{color:#245ac6;color:var(--blue)}.site-footer nav,.site-header nav{align-items:center;display:flex;gap:32px}.site-header nav{margin-left:auto}.site-footer a,.site-header nav a{align-items:center;display:inline-flex;font-size:14px;gap:5px;min-height:44px}.site-header nav a.active{color:#245ac6;color:var(--blue);text-decoration:underline}.eyebrow,.project-tags,.section-label,figcaption{font-family:Courier New,monospace;font-size:12px;letter-spacing:.09em;line-height:1.65;text-transform:uppercase}.eyebrow{color:#245ac6;color:var(--blue)}.hero{grid-gap:48px;align-items:end;display:grid;gap:48px;grid-template-columns:1.65fr 1fr;padding:96px 0 80px}.hero .eyebrow{margin-bottom:28px}.hero h1 span{color:#245ac6;color:var(--blue)}.hero-intro{color:#4e5c6a;color:var(--muted);max-width:440px;padding-bottom:4px}.actions{display:flex;flex-wrap:wrap;gap:24px;margin-top:28px}.actions,.button{align-items:center}.button{background:#245ac6;background:var(--blue);border:1px solid #245ac6;border:1px solid var(--blue);border-radius:3px;color:#fff;color:var(--button-text);cursor:pointer;display:inline-flex;font-size:14px;gap:12px;justify-content:center;min-height:48px;padding:13px 22px;transition:background-color .16s ease}.button:hover{background:#19489f;background:var(--blue-hover);border-color:#19489f;border-color:var(--blue-hover);text-decoration:none}.text-link{align-items:center;color:#182433;color:var(--ink);display:inline-flex;font-size:14px;gap:6px;min-height:44px}.arrow-up-right{flex-shrink:0}.expertise{border-block:1px solid #d6dce3;border-block:1px solid var(--line);color:#4e5c6a;color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;gap:16px 36px;list-style:none;margin:0;padding:22px 0}.work-section{padding:56px 0 64px;scroll-margin-top:24px}.section-heading{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:28px}.section-label{color:#4e5c6a;color:var(--muted)}.project-grid,.skills-grid{grid-gap:40px 48px;display:grid;gap:40px 48px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.project{border-top:1px solid #d6dce3;border-top:1px solid var(--line);padding-top:26px}.project h3{margin:22px 0 12px}.project-description{color:#4e5c6a;color:var(--muted);max-width:49ch}.project .text-link{margin-top:16px}.project-tags{letter-spacing:.045em;margin-top:8px}.project-note,.project-tags{color:#4e5c6a;color:var(--muted)}.project-note{font-size:13px;margin-top:16px;max-width:52ch}.about-summary{grid-gap:64px;border-top:1px solid #d6dce3;border-top:1px solid var(--line);display:grid;gap:64px;grid-template-columns:1fr 1.5fr;padding:48px 0}.about-summary p{color:#4e5c6a;color:var(--muted);max-width:65ch}.about-summary .text-link{margin-top:16px}.contact-strip{align-items:center;border-top:1px solid #d6dce3;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:32px 0}.contact-strip p{color:#4e5c6a;color:var(--muted);font-size:14px}.contact-strip a{align-items:center;display:inline-flex;font-size:18px;gap:8px;letter-spacing:-.025em;min-height:44px}.site-footer{align-items:center;border-top:1px solid #d6dce3;border-top:1px solid var(--line);color:#4e5c6a;color:var(--muted);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;padding:24px 0}.site-footer p{font-size:12px}.site-footer .footer-name{color:#182433;color:var(--ink);font-size:13px}.page-intro{max-width:960px;padding:80px 0 64px}.page-intro .eyebrow{margin-bottom:24px}.page-intro h1{font-size:clamp(2.5rem,5vw,4.5rem)}.page-intro>p:not(.eyebrow){color:#4e5c6a;color:var(--muted);font-size:18px;margin-top:28px;max-width:58ch}.page-intro .button{margin-top:28px}.portfolio-work{padding-top:0}.biography-layout{grid-gap:80px;align-items:start;display:grid;gap:80px;grid-template-columns:1fr 2fr;padding:0 0 72px}.portrait img{border-radius:4px;display:block;height:auto;max-width:320px;width:100%}.portrait figcaption{color:#4e5c6a;color:var(--muted);font-size:11px;margin-top:16px}.prose{max-width:68ch}.prose section+section{margin-top:40px}.prose h2{font-size:25px;margin-bottom:20px}.prose p{color:#4e5c6a;color:var(--muted)}.prose p+p{margin-top:20px}.skills-grid{padding-bottom:72px}.skill-group{border-top:1px solid #d6dce3;border-top:1px solid var(--line);padding-top:24px}.skill-group h2{font-size:26px;margin:20px 0}.skill-group ul{color:#4e5c6a;color:var(--muted);list-style:none;margin:0;padding:0}.skill-group li{padding:7px 0}.contact-layout{grid-gap:72px;border-top:1px solid #d6dce3;border-top:1px solid var(--line);display:grid;gap:72px;grid-template-columns:1fr 2fr;padding:40px 0 80px}.muted{color:#4e5c6a;color:var(--muted);margin-top:16px;max-width:30ch}.contact-form{display:flex;flex-direction:column;gap:24px}.form-row{grid-gap:24px;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-form label{display:flex;flex-direction:column;font-size:14px;gap:10px}.contact-form input,.contact-form textarea{background:#fff;background:var(--surface);border:1px solid #8b98a6;border:1px solid var(--input-border);border-radius:3px;color:#182433;color:var(--ink);font-size:16px;min-width:0;padding:12px;width:100%}.contact-form textarea{min-height:170px;resize:vertical}.form-submit{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.form-submit p{color:#4e5c6a;color:var(--muted);font-size:13px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.skip-link{background:#182433;background:var(--ink);color:#f7f8fa;color:var(--paper);left:16px;padding:10px 16px;position:absolute;top:8px;transform:translateY(-160%);z-index:10}.skip-link:focus{transform:translateY(0)}@media (max-width:900px){.hero{gap:32px;grid-template-columns:1fr;padding:64px 0 48px}.hero h1{font-size:clamp(2.5rem,8vw,4.5rem)}.hero-intro{max-width:58ch}.biography-layout{gap:40px}.contact-layout{gap:32px;grid-template-columns:1fr 1.6fr}}@media (max-width:620px){.site-header{grid-gap:4px 12px;display:grid;gap:4px 12px;grid-template-columns:1fr auto;padding:20px 0 14px}.site-header nav{flex-wrap:wrap;gap:20px;grid-column:1/-1;grid-row:2;margin-left:0}.theme-toggle{grid-column:2;grid-row:1}.hero{padding:44px 0 40px}.hero .eyebrow{margin-bottom:24px}.about-summary,.biography-layout,.contact-layout,.form-row,.project-grid,.skills-grid{grid-template-columns:minmax(0,1fr)}.project-grid{gap:32px}.work-section{padding:40px 0}.portfolio-work{padding-top:0}.about-summary{gap:24px;padding:36px 0}.page-intro{padding:44px 0}.biography-layout,.contact-layout{gap:32px;padding-bottom:48px}.portrait img{max-width:240px}.site-footer{align-items:flex-start}.site-footer p{flex-basis:100%;order:3}.site-footer nav{gap:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important}}
/*# sourceMappingURL=main.42e2f20c.css.map*/