@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--paper:#f2ecdf;--shade:#e8dfcc;--ink:#1c3038;--muted:#5d6a69;--blue:#0e2e44;--link:#23597a;--line:#c3c5b9;--accent:#a9402b;--green:#2e6e5e;--serif:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif;--sans:'DM Sans',system-ui,sans-serif;--mono:'IBM Plex Mono',SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.03em}h1{font-size:clamp(2.7rem,5.5vw,5rem)}h2{font-size:clamp(2rem,3.4vw,3.1rem)}h3{font-size:1.65rem}em{font-weight:400}p+p{margin-top:1rem}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:absolute;left:20px;top:-100px;z-index:20;background:var(--blue);color:var(--paper);padding:10px 20px}.skip-link:focus{top:12px}.eyebrow,.tag,.folio,.section-number,.back-link,.project-index,.role-meta,.experience-year{font:400 .75rem/1.6 var(--mono);letter-spacing:.075em;text-transform:uppercase}.eyebrow,.tag,.folio{color:var(--muted)}.eyebrow{margin-bottom:1rem}.small,.caption,.demo-footnote{font-size:.8125rem;line-height:1.65}.muted{color:var(--muted)}.text-link,.case-link{font-size:.9375rem;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:3px;display:inline-block}.text-link:hover,.case-link:hover{border-color:var(--accent)}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:27px 23px;border-bottom:1px solid var(--ink)}.brand{font-family:var(--serif);font-size:1.55rem;letter-spacing:-.02em;text-decoration:none;white-space:nowrap}.brand-mark{font:500 .75rem var(--mono);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);width:29px;height:29px;margin-right:12px;vertical-align:3px}.site-header nav{display:flex;align-items:center;gap:29px}.site-header nav a{font-size:.875rem;text-decoration:none;padding-block:5px}.site-header nav a[aria-current=page]{border-bottom:1px solid var(--accent);color:var(--accent)}.mast-meta{display:flex;justify-content:space-between;padding-block:13px;font-size:.75rem;letter-spacing:.04em}.mast-meta span:first-child::before{content:'+';margin-right:11px;color:var(--accent)}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:54px;align-items:center;padding-block:37px 65px}.hero .eyebrow{margin-bottom:27px}.hero h1{font-size:clamp(3.4rem,5.3vw,4.75rem);line-height:1.07}.hero h1 em{color:var(--link)}.hero-intro{font-size:1.05rem;line-height:1.8;max-width:410px;margin-top:26px}.hero-links{display:flex;gap:25px;margin-top:31px}.chart-frame{padding:7px;border:1px solid var(--line);background:var(--shade)}.chart-frame img{width:100%;aspect-ratio:1;object-fit:cover}.visual-caption{display:flex;justify-content:space-between;gap:12px;margin-top:10px;font:.75rem/1.5 var(--mono);letter-spacing:.025em;color:var(--muted)}.intro-strip{display:grid;grid-template-columns:1fr 3fr;gap:30px;padding:29px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro-strip p:last-child{max-width:810px;font-size:.95rem;margin:0}.section{padding-block:78px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:31px}.section-heading h2{font-size:2.7rem}.section-heading>p{font-size:.9375rem;color:var(--muted);max-width:380px}.section-number{color:var(--accent);margin-right:17px}.work-list{border-top:1px solid var(--ink)}.work-entry{display:grid;grid-template-columns:45px 1.04fr 1.12fr 120px;gap:22px;align-items:center;border-bottom:1px solid var(--line);padding:31px 0;transition:background .18s}.work-entry:hover{background:#e8dfcc66}.project-index{color:var(--muted);align-self:start;padding-top:8px}.work-entry .tag{font-size:.75rem;display:block;margin-bottom:9px;letter-spacing:0}.work-entry h3{font-size:1.8rem;line-height:1.18}.work-entry h3 a{text-decoration:none}.work-entry>p{font-size:.925rem;line-height:1.65;max-width:350px}.entry-link{font:.8125rem/1.65 var(--mono);justify-self:end}.two-up{display:grid;grid-template-columns:1.12fr 1fr;gap:62px;padding-bottom:78px}.notes-block{border-top:1px solid var(--ink);padding-top:25px}.mini-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:29px}.mini-heading h2{font-size:2rem}.mini-heading a{font-size:.875rem;color:var(--muted)}.note-entry{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.note-entry:last-child{margin-bottom:0}.note-entry .tag{margin-bottom:12px;display:block}.note-entry h3{font-size:1.65rem;line-height:1.24;max-width:450px}.note-entry h3 a{text-decoration:none}.note-entry p{font-size:.9375rem;line-height:1.7;margin-top:12px;max-width:430px}.playground-teaser{background:var(--blue);color:var(--paper);padding:33px 34px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--blue)}.playground-teaser h2{font-size:2.8rem;margin:12px 0 20px}.playground-teaser>p{font-size:.95rem;color:#d0d9d5;max-width:350px}.playground-teaser a{align-self:start;margin-top:29px;color:var(--paper);border-color:var(--paper)}.specimen-index{display:flex;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid #446071;font:.75rem/1.5 var(--mono)}.specimen-list{margin-top:29px;display:flex;gap:20px;font:.75rem var(--mono);color:#b8c6c4}.about-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:62px;padding-block:61px}.about-copy{max-width:710px}.about-copy p{font-size:.975rem}.about-copy .text-link{margin-top:24px}.about-location{margin-top:25px;font:.75rem/1.9 var(--mono);color:var(--muted)}.contact-section{border-block:1px solid var(--ink);padding:35px 0;display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-section h2{font-size:2.1rem;margin-bottom:7px}.contact-section p{font-size:.9375rem;color:var(--muted)}.contact-actions{text-align:right}.contact-email{font-size:1rem}.contact-actions .copy-button{display:inline-block;font-size:.875rem}.copy-status{display:block;min-height:1.6em;font-size:.75rem;color:var(--muted)}.footer{display:flex;gap:25px;align-items:center;padding-block:27px 36px;font-size:.8125rem;color:var(--muted)}.footer .footer-name{margin-right:auto;font-family:var(--serif);font-size:1rem}.footer a{text-decoration:none}.footer .folio{font-size:.75rem}
.case-hero{padding-block:47px 42px}.back-link{display:inline-block;color:var(--link);margin-bottom:42px;font-size:.75rem;text-decoration:none}.case-hero h1{max-width:930px}.case-hero h1 em{color:var(--link)}.case-lede{font-size:1.125rem;line-height:1.7;max-width:750px;margin-top:25px}.case-meta{display:flex;flex-wrap:wrap;gap:12px 28px;border-top:1px solid var(--line);padding-top:19px;margin-top:30px;font:.75rem/1.7 var(--mono);color:var(--muted)}.case-demo-wide{max-width:1000px}.caption{margin-top:14px;color:var(--muted);max-width:830px}.case-content{display:grid;grid-template-columns:225px 1fr;gap:75px;padding-block:64px 40px}.case-sidebar{font-size:.875rem}.case-sidebar dt{font:500 .75rem var(--mono);text-transform:uppercase;margin-top:23px}.case-sidebar dd{margin:8px 0 0;color:var(--muted)}.case-sidebar .topic-list{margin-top:25px}.topic-list{display:flex;flex-wrap:wrap;gap:8px 18px;font:.75rem/1.8 var(--mono);color:var(--muted)}.prose{max-width:740px}.prose h2{font-size:2rem;margin:38px 0 20px;line-height:1.22}.prose h2:first-child{margin-top:0}.prose h3{font-size:1.35rem;line-height:1.3;margin-bottom:10px}.prose p{line-height:1.85}.prose blockquote{margin:34px 0;padding:20px 0 20px 25px;border-left:2px solid var(--accent);font:italic 1.6rem/1.5 var(--serif);color:var(--link)}.evidence-note{border-top:1px solid var(--line);margin-top:25px;padding-top:18px;color:var(--muted);font-size:.8125rem}.decision-row{display:grid;grid-template-columns:28px 1fr;gap:20px;margin-top:25px}.decision-row>span{font:.75rem var(--mono);padding-top:6px;color:var(--accent)}.case-end{border-top:1px solid var(--ink);margin-top:30px;padding:35px 0 50px;display:flex;justify-content:space-between;gap:25px;align-items:center}.case-end h2{font-size:1.7rem;margin-top:8px}.case-end .eyebrow{margin:0}.outcome-band{background:var(--blue);color:var(--paper);padding:35px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.outcome-band strong{font:400 2.7rem var(--mono)}.outcome-band p{margin-top:12px;font-size:.875rem;line-height:1.6;color:#c6d2d2}.experience-row{display:grid;grid-template-columns:180px 1fr;gap:55px;padding-block:34px;border-top:1px solid var(--line)}.experience-row>div{max-width:800px}.experience-row h2{font-size:1.85rem;margin-bottom:12px}.experience-row h3{font:500 1rem/1.6 var(--sans);letter-spacing:0;margin-bottom:8px}.role-meta{font-size:.75rem;color:var(--muted);margin-bottom:14px}.experience-year{padding-top:5px;color:var(--muted)}.experience-education{padding-block:35px 40px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:55px}.experience-education h3{font-size:1.5rem;margin:20px 0 8px}.experience-education .button{margin-top:22px}.essay{max-width:830px;padding-block:46px 30px}.essay h1{font-size:clamp(2.6rem,5vw,4rem);line-height:1.14}.essay .case-lede{font-family:var(--serif);font-size:1.4rem}.essay-byline{border-bottom:1px solid var(--line);padding-block:25px 28px;margin-bottom:35px;font:.75rem/1.7 var(--mono);color:var(--muted);display:flex;justify-content:space-between;gap:20px}.essay .prose{max-width:none}.essay-related{display:flex;flex-wrap:wrap;gap:17px;margin-block:35px 0;border-top:1px solid var(--line);padding-top:25px;font-size:.875rem}.essay-related .tag{width:100%}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-block:32px}.principle-grid>div{border-top:2px solid var(--link);padding-top:15px}.principle-grid h3{margin-top:10px}.principle-grid p{font-size:.875rem}.index-hero{padding-block:59px 45px;border-bottom:1px solid var(--ink)}.index-hero p:not(.eyebrow){max-width:630px;margin-top:22px;font-size:1.05rem}.notes-index{padding-block:8px 45px}.journal-row{display:grid;grid-template-columns:150px 1fr 120px;gap:40px;padding-block:33px;border-bottom:1px solid var(--line);align-items:start}.journal-row h2{font-size:2rem;line-height:1.2}.journal-row h2 a{text-decoration:none}.journal-row p{margin-top:14px;max-width:650px;font-size:.95rem}.journal-row>span{padding-top:4px}.journal-row>a{font-size:.875rem;justify-self:end}.experiment-panel{padding-block:44px 65px;border-bottom:1px solid var(--line);scroll-margin-top:20px}.experiment-heading{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-bottom:27px}.experiment-heading h2{font-size:2.3rem}.experiment-heading>p{font-size:.95rem}.workbench{padding-block:35px 50px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.workbench h3{font-size:1.45rem;margin-bottom:15px}.workbench p{font-size:.9rem;line-height:1.8}.workbench .tag{margin-bottom:15px;display:block}
.calendar-demo,.standardizer-demo{background:#f9f5ed;border:1px solid var(--line);padding:25px}.demo-top{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-bottom:17px;border-bottom:1px solid var(--line)}.demo-name{font-weight:500;font-size:1rem}.square-icon{margin-right:8px;color:var(--link)}.demo-label{font:.75rem/1.5 var(--mono);color:var(--muted)}.cal-sub{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-block:20px;font-size:.875rem}.cal-conflict{font:.75rem/1.5 var(--mono);color:var(--accent);border:1px solid #d9b7a7;padding:4px 8px;background:#f9ece3;text-align:center}.cal-conflict.clear{color:var(--green);border-color:#a7c2b5;background:#e5eee7}.cal-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);min-height:215px}.cal-day{padding:11px 8px;border-right:1px solid var(--line);min-width:0}.cal-day:last-child{border-right:0}.cal-day>span{display:flex;justify-content:space-between;font:.75rem/1.5 var(--mono);color:var(--muted);gap:4px}.cal-day b{font-weight:500}.conflict-day{background:#f4e7da}.send{font-size:.875rem;line-height:1.4;padding:9px 8px;margin-top:15px;border-left:2px solid var(--link);background:#dde7e8;overflow-wrap:anywhere}.send small{display:block;font-size:.75rem;margin-top:6px;color:#4d6165}.gold-send{background:#ede3c6;border-color:#a07933}.green-send{background:#deeadf;border-color:var(--green)}.demo-feedback{margin-top:17px;display:flex;align-items:center;gap:9px;font-size:.875rem;color:#874329;min-height:29px}.warning-icon{font:500 .875rem var(--mono);border:1px solid currentColor;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.demo-feedback.resolved{color:var(--green)}.demo-actions{margin-top:16px;display:flex;align-items:center;gap:20px}.demo-actions>span{font-size:.8125rem;color:var(--muted)}.small-button,.button{border:1px solid var(--blue);background:var(--blue);color:var(--paper);padding:11px 16px;font-size:.875rem;line-height:1.5;text-decoration:none;display:inline-block;border-radius:0}.small-button:hover,.button:hover{background:var(--link);color:white}.button.outline{color:var(--ink);background:transparent;border-color:var(--muted)}.button.outline:hover{background:var(--shade)}.button-row{display:flex;gap:13px;flex-wrap:wrap;align-items:center}.copy-button{background:transparent;border:0;color:inherit;padding:9px 5px;text-decoration:underline;text-underline-offset:4px;font-size:.875rem;cursor:pointer}.demo-instructions{margin-block:20px;font-size:.9375rem}.mapping-head,.review-example{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mapping-head{padding-block:12px;font:.75rem var(--mono);color:var(--muted);border-bottom:1px solid var(--line)}.review-example{align-items:center;padding-block:20px}.review-example select{width:100%;min-width:0;border:1px solid var(--muted);border-radius:0;background:#fffaf0;color:var(--ink);padding:10px;font-size:1rem}.review-reason{max-width:730px;font-size:.9rem;color:var(--muted)}.review-status{margin:20px 0;font:.75rem/1.7 var(--mono);color:var(--accent)}.review-status.approved{color:var(--green)}.demo-footnote{margin-top:23px;color:var(--muted)}
.availability-note{max-width:29rem;margin-top:24px;font-size:.875rem;line-height:1.75;color:var(--muted)}.availability-note a{color:var(--link);white-space:nowrap}.contact-copy{flex:1;max-width:680px}.contact-actions{flex-shrink:0}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{gap:33px}.hero h1{font-size:3.6rem}.hero-intro{font-size:1rem}.work-entry{grid-template-columns:35px 1fr 1fr;gap:20px}.entry-link{grid-column:2/-1;justify-self:start;margin-top:-8px}.two-up{gap:35px}.case-content{gap:40px;grid-template-columns:190px 1fr}.case-hero h1{font-size:3.8rem}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{flex-wrap:wrap;gap:15px;padding-block:21px 17px}.brand{font-size:1.45rem}.site-header nav{gap:22px;width:100%;justify-content:space-between}.brand-mark{width:25px;height:25px;margin-right:8px}.mast-meta{font-size:.75rem;gap:20px}.mast-meta span:last-child{display:none}.hero{grid-template-columns:1fr;padding-block:25px 36px;gap:33px}.hero h1{font-size:clamp(2.8rem,10vw,4.3rem);max-width:570px}.hero .eyebrow{margin-bottom:20px}.hero-intro{max-width:470px;margin-top:22px}.hero-links{margin-top:22px}.hero-visual{max-width:500px}.chart-frame img{aspect-ratio:1.15;object-position:center 56%}.visual-caption{flex-wrap:wrap;gap:3px}.intro-strip{grid-template-columns:1fr;gap:12px;padding-block:23px}.intro-strip .eyebrow{margin:0}.section{padding-block:46px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:2.3rem}.section-heading>p{margin-top:15px}.work-entry{grid-template-columns:28px 1fr;gap:12px 17px;padding-block:25px}.work-entry>p{grid-column:2;max-width:100%}.work-entry h3{font-size:1.75rem}.entry-link{margin:0;grid-column:2}.two-up{grid-template-columns:1fr;gap:35px;padding-bottom:45px}.playground-teaser{padding:27px}.playground-teaser h2{font-size:2.5rem}.about-section{grid-template-columns:1fr;gap:22px;padding-block:37px}.about-section h2{font-size:2.3rem}.about-location{margin-top:16px}.contact-section{display:block;padding-block:29px}.contact-actions{text-align:left;margin-top:22px}.footer{flex-wrap:wrap;gap:13px 22px;padding-bottom:25px}.footer .footer-name{width:100%;margin:0}.case-hero{padding-block:29px 30px}.back-link{margin-bottom:27px}.case-hero h1{font-size:2.8rem}.case-lede{font-size:1.025rem}.case-meta{gap:8px 20px}.case-content{grid-template-columns:1fr;padding-top:35px;gap:35px}.case-sidebar{padding-bottom:25px;border-bottom:1px solid var(--line)}.case-sidebar dl{display:grid;grid-template-columns:85px 1fr;gap:12px;margin:0}.case-sidebar dt{margin:0;padding-top:4px}.case-sidebar dd{margin:0}.prose h2{font-size:1.7rem}.prose blockquote{font-size:1.4rem}.principle-grid{grid-template-columns:1fr;gap:23px}.case-end{display:block;margin-top:15px;padding-block:28px 35px}.case-end>a{margin-top:25px}.outcome-band{padding:26px;gap:20px}.outcome-band strong{font-size:2.1rem}.outcome-band p{font-size:.8125rem}.experience-row{grid-template-columns:1fr;gap:13px;padding-block:26px}.experience-education{grid-template-columns:1fr;gap:30px}.experience-education .button{margin-right:8px}.essay{padding-top:30px}.essay h1{font-size:2.5rem}.essay-byline{display:block}.essay-byline span{display:block;margin-top:8px}.index-hero{padding-block:35px 30px}.journal-row{grid-template-columns:1fr;gap:14px;padding-block:26px}.journal-row h2{font-size:1.8rem}.journal-row>a{justify-self:start}.experiment-heading{grid-template-columns:1fr;gap:20px}.experiment-heading h2{font-size:2rem}.workbench{grid-template-columns:1fr;gap:25px}.workbench>div{border-top:1px solid var(--line);padding-top:22px}.calendar-demo,.standardizer-demo{padding:17px}.demo-top{align-items:start;flex-wrap:wrap;gap:6px}.demo-name{font-size:.9375rem}.cal-sub{flex-direction:column;align-items:start;gap:10px}.cal-grid{grid-template-columns:1fr;min-height:0}.cal-day{display:grid;grid-template-columns:55px 1fr;gap:9px;min-height:49px;align-items:start;border-right:0;border-bottom:1px solid var(--line);padding:10px}.cal-day:last-child{border-bottom:0}.cal-day>span{justify-content:start;gap:7px;padding-top:6px}.send{margin:0}.send small{display:inline;margin:0 0 0 6px}.cal-day>.send+.send{grid-column:2}.demo-feedback{align-items:start}.demo-actions{flex-wrap:wrap;gap:10px}.demo-actions>span{display:none}.mapping-head{gap:10px}.review-example{gap:10px;font-size:.875rem}.review-example select{font-size:1rem;padding:9px 5px}.button-row .button{width:100%;text-align:center}.standardizer-demo .button-row .copy-button{width:100%}.specimen-list{flex-wrap:wrap;line-height:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{background:white;color:black;font-size:10pt}.site-header nav,.skip-link,.button,.copy-button,.case-end,.footer,.back-link{display:none!important}.wrap{width:100%;max-width:none}.case-hero{padding:20px 0}.case-hero h1{font-size:30pt}.experience-row{break-inside:avoid;padding-block:15px;grid-template-columns:100px 1fr;gap:25px}.experience-row h2{font-size:18pt}.case-meta{margin-top:15px;padding-top:10px}.experience-education{padding-top:20px}.site-header{padding:0 0 12px}.case-lede{font-size:12pt}}
