:root{color:#202720;--ink:#202720;--muted:#636a61;--line:#d9ddd3;--lime:#d6ec8e;--paper:#f6f6f2;scroll-behavior:smooth;scrollbar-gutter:stable;background:#f6f6f2;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px}a:hover{text-decoration-color:#7d963f}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline-offset:5px;outline:3px solid #647d30}::selection{color:#202720;background:#d6ec8e}.wrap{width:calc(100% - 100px);max-width:1220px;margin-inline:auto}h1,h2,h3,p{overflow-wrap:break-word;margin:0}h1,h2,h3{font-weight:400}section[id]{scroll-margin-top:30px}.eyebrow{letter-spacing:.06em;font:12px/1.5 SFMono-Regular,Consolas,monospace}.site-header{justify-content:space-between;align-items:center;gap:24px;height:100px;display:flex}.identity{letter-spacing:-.03em;align-items:center;gap:12px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.monogram{background:var(--ink);color:var(--paper);letter-spacing:-.08em;border-radius:50%;place-items:center;width:39px;height:39px;padding:0 3px 3px 0;font-size:24px;display:grid}.site-header nav{gap:30px;font-size:14px;display:flex}.site-header nav a{text-decoration:none}.hero{padding:52px 0 65px}.hero-eyebrow{color:var(--muted);align-items:center;gap:12px;display:flex}.cross{color:#617f2b;font-size:24px;line-height:1}.hero-line{justify-content:space-between;align-items:flex-end;gap:40px;margin-top:26px;display:flex}.hero h1{letter-spacing:-.065em;font-family:Georgia,Times New Roman,serif;font-size:clamp(54px,7.2vw,98px);line-height:1.04}.hero h1 em{color:#657355;font-weight:400}.hero-aside{flex-shrink:0;padding-bottom:8px}.hero-aside p{letter-spacing:-.025em;font-size:17px;line-height:1.6}.hero-aside a{color:var(--muted);margin-top:22px;font-size:12px;display:inline-block}.section-line{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.section-line h2{font-size:15px;font-weight:500}.section-line>.eyebrow{color:var(--muted);font-size:11px}.project-grid{grid-template-columns:1.15fr 1fr;gap:20px;display:grid}.project-card{isolation:isolate;border-radius:15px;flex-direction:column;justify-content:space-between;min-width:0;min-height:410px;padding:29px;text-decoration:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s;display:flex;position:relative;overflow:hidden}.project-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px #1d281312}.card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-top .eyebrow{font-size:11px}.open-mark{opacity:.7;border:1px solid;border-radius:50%;place-items:center;width:29px;height:29px;font-size:22px;font-weight:400;transition:transform .25s;display:grid}.project-card:hover .open-mark{transform:rotate(90deg)}.card-bottom{z-index:2;padding-top:26px;position:relative}.card-bottom h3{letter-spacing:-.045em;margin-bottom:8px;font-size:28px}.card-bottom p{opacity:.78;font-size:14px;line-height:1.6}.card-talent{background:var(--lime);color:#27351c}.talent-art{padding-top:30px;position:relative}.talent-wordmark{letter-spacing:-.06em;align-items:center;gap:12px;margin-bottom:22px;font-size:29px;display:flex}.talent-wordmark>span{font-size:30px;font-weight:400}.screenshot-frame{background:#fff;border-radius:8px;margin:0 4px;transition:transform .35s;transform:rotate(-2deg);box-shadow:0 12px 30px #27351c20}.screenshot-frame img{aspect-ratio:16/8;object-fit:cover;object-position:top;border-radius:8px;width:100%;height:auto;display:block}.project-card:hover .screenshot-frame{transform:rotate(0)translateY(-4px)}.card-ingestion{color:#edf0e7;background:#253028}.ingestion-art{padding:30px 0 18px}.big-number{letter-spacing:-.065em;font-family:Georgia,serif;font-size:clamp(70px,7vw,103px);line-height:1.05;display:block}.big-number>span{vertical-align:top;color:var(--lime);margin:8px 0 0 7px;font:400 .48em Arial,sans-serif;display:inline-block}.metric-caption{opacity:.75;margin-top:9px;font-size:13px;line-height:1.5;display:block}.pipeline-rail{color:#c5d2be;align-items:center;gap:10px;margin-top:42px;font:11px monospace;display:flex}.pipeline-rail i{background:#798d70;flex:1;height:1px}.card-enrichment{background:#e7eae4;min-height:330px}.enrichment-art{align-items:center;gap:27px;padding:25px 0 7px;display:flex}.cost-number{letter-spacing:-.08em;font:400 90px/1 Georgia,serif}.enrichment-art .metric-caption{max-width:110px;margin:0;font-size:15px}.card-scrapers{background:#eee9df;min-height:330px}.scraper-art{flex-direction:column;gap:7px;margin:22px 0 3px;padding:0 18px;display:flex}.scraper-art>div{background:#faf8f3;border:1px solid #dfd9cd;border-radius:5px;align-items:center;gap:24px;padding:11px 18px;font-size:15px;transition:transform .3s;display:flex;box-shadow:0 5px 10px #49372006}.scraper-art>div:first-child{transform:translate(-12px)}.scraper-art>div:nth-child(3){transform:translate(12px)}.project-card:hover .scraper-art>div{transform:translate(0)}.scraper-art .eyebrow{color:#7b7567;font-size:11px}.about{grid-template-columns:1fr 2.1fr;gap:35px;padding:80px 0 65px;display:grid}.about>.eyebrow{color:var(--muted);padding-top:8px}.about>p{letter-spacing:-.035em;color:var(--muted);max-width:790px;font-size:clamp(21px,2.4vw,29px);line-height:1.5}.about strong{color:var(--ink);font-weight:400}.about-small{color:var(--muted);flex-wrap:wrap;grid-column:2;gap:10px 28px;margin-top:-12px;font-size:12px;display:flex}.contact{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;padding:35px 0 50px;display:flex}.contact h2{letter-spacing:-.04em;font:400 36px/1.2 Georgia,serif}.contact>div{align-items:center;gap:32px;display:flex}.contact-email{letter-spacing:-.035em;font-size:20px}.github-link{color:var(--muted);font-size:13px}.skip{z-index:99;background:#fff;padding:12px;position:absolute;top:-100px;left:20px}.skip:focus{top:10px}.accent{color:#748e40}.back-link{color:var(--muted);font-size:14px}.project-page{max-width:900px;padding:32px 0 65px}.project-page>.back-link{margin-bottom:38px;display:inline-block}.bottom-back{margin:45px 0 0!important}.project-detail .detail-kicker{color:var(--muted);justify-content:space-between;align-items:center;gap:15px;display:flex}.project-detail h1{letter-spacing:-.065em;margin:26px 0 18px;font:400 clamp(44px,5.5vw,68px)/1.08 Georgia,serif}.detail-intro{letter-spacing:-.035em;color:var(--muted);max-width:650px;font-size:23px;line-height:1.5}.detail-meta{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;margin:26px 0;padding-bottom:24px;font-size:13px;display:flex}.detail-cover{margin:30px 0}.detail-cover img,.detail-cover video{border:1px solid var(--line);border-radius:9px;width:100%;height:auto;display:block}figcaption{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.6}.detail-overview{letter-spacing:-.015em;margin:28px 0;font-size:18px;line-height:1.7}.detail-section{padding:25px 0}.detail-section h2{font-size:16px;font-weight:500}.detail-section ul{color:var(--muted);margin:15px 0 0;padding-left:21px;font-size:16px;line-height:1.75}.detail-section li{margin-bottom:10px;padding-left:5px}.detail-result{background:#e9eddf;border-radius:8px;margin:15px 0 30px;padding:28px}.detail-result h2{letter-spacing:-.04em;margin-bottom:16px;font:400 30px/1.2 Georgia,serif}.detail-result p{color:#515d46;font-size:16px;line-height:1.7}.detail-stack{flex-wrap:wrap;gap:8px;margin:28px 0;display:flex}.detail-stack span{border:1px solid var(--line);border-radius:30px;padding:7px 11px;font-size:12px}.detail-gallery{grid-template-columns:1fr 1fr;gap:20px;margin:32px 0;display:grid}.detail-gallery figure{min-width:0;margin:0}.detail-gallery img{aspect-ratio:1.35;object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:6px;width:100%;height:auto;display:block}.solid-button{background:var(--ink);color:var(--paper);border-radius:5px;padding:14px 20px;font-size:14px;text-decoration:none;display:inline-flex}.solid-button:hover{background:#3e5139}.project-flow{border:1px solid var(--line);background:#edf0e8;border-radius:8px;grid-template-columns:repeat(3,1fr);margin:30px 0;display:grid}.project-flow>div{flex-direction:column;gap:20px;padding:25px 18px;display:flex}.project-flow>div+div{border-left:1px solid var(--line)}.project-flow .eyebrow{color:var(--muted)}.project-flow strong{letter-spacing:-.035em;font:400 26px Georgia,serif}.project-open{overflow:hidden}#project-dialog{background:var(--paper);color:var(--ink);overscroll-behavior:contain;border:1px solid #ffffff70;border-radius:18px;width:min(820px,100% - 64px);max-height:calc(100dvh - 70px);padding:0;box-shadow:0 35px 100px #0c17093d}#project-dialog::backdrop{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#1722137a}#project-dialog[open]{animation:.24s cubic-bezier(.2,.8,.2,1) window-in}.dialog-toolbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:3;background:#f6f6f2f5;justify-content:space-between;align-items:center;gap:20px;padding:16px 30px;display:flex;position:sticky;top:0}.dialog-toolbar a{font-size:13px}.dialog-toolbar button{border:1px solid var(--line);background:0 0;border-radius:6px;align-items:center;gap:12px;padding:8px 11px;font-size:13px;display:flex}.dialog-toolbar button>span{font-size:21px;line-height:1}#project-dialog-content{padding:32px 40px 40px}.not-found{padding:100px 0}.not-found h1{margin:25px 0;font:400 60px/1.1 Georgia,serif}.not-found p{margin-bottom:25px}.button.dark{background:var(--ink);color:var(--paper);border-radius:5px;padding:14px 20px;text-decoration:none;display:inline-flex}@keyframes window-in{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width>=1500px){.hero{padding-top:70px}}@media (width<=1000px){.wrap{width:calc(100% - 64px)}.hero-line{gap:25px}.hero h1{font-size:clamp(51px,7.5vw,75px)}.hero-aside p{font-size:15px}.project-card{min-height:370px;padding:24px}.card-enrichment,.card-scrapers{min-height:310px}.big-number{font-size:78px}.talent-wordmark{font-size:25px}.pipeline-rail{gap:6px;font-size:10px}.about{grid-template-columns:1fr 2.5fr}}@media (width<=767px){.wrap{width:calc(100% - 40px)}.site-header{height:84px}.identity{gap:9px;font-size:14px}.monogram{width:34px;height:34px;font-size:22px}.site-header nav{gap:18px;font-size:13px}.hero{padding:37px 0 44px}.hero-line{margin-top:23px;display:block}.hero h1{font-size:clamp(49px,9vw,69px)}.hero-aside{margin-top:25px;display:block}.hero-aside p{font-size:16px}.hero-aside a{max-width:none;margin-top:12px;font-size:12px;line-height:1.5}.hero-aside p br:nth-of-type(n+2){display:none}.hero-eyebrow,.section-line .eyebrow{font-size:10px}.project-grid{grid-template-columns:1fr;gap:17px}.project-card{min-height:350px;padding:25px}.card-enrichment,.card-scrapers{min-height:300px}.talent-wordmark{font-size:30px}.card-bottom h3{font-size:27px}.big-number{font-size:100px}.pipeline-rail{margin-top:32px;font-size:12px}.card-ingestion{min-height:350px}.about{padding:52px 0 42px;display:block}.about p{margin:20px 0 24px;font-size:23px}.about-small{flex-direction:column;gap:10px;margin:0;display:flex}.contact{flex-direction:column;align-items:flex-start;padding:30px 0 40px}.contact h2{max-width:none;font-size:29px}.contact>div{flex-direction:column;align-items:flex-start;gap:17px}.contact-email{font-size:20px}.project-page{padding-top:25px}.project-detail h1{font-size:49px}.detail-intro{font-size:21px}.detail-meta{font-size:12px}.detail-kicker .eyebrow{font-size:10px}.detail-result{padding:23px}.detail-result h2{font-size:28px}.detail-gallery{grid-template-columns:1fr}.project-flow>div{padding:20px 12px}.project-flow strong{font-size:22px}#project-dialog{border:0;border-radius:0;width:100%;height:100dvh;max-height:100dvh;margin:0}#project-dialog-content{padding:28px 22px}.dialog-toolbar{padding:15px 22px}}@media (width<=380px){.identity>span:last-child{max-width:88px}.site-header nav{gap:13px}.hero h1{font-size:47px}.project-card{padding:21px}.cost-number{font-size:77px}.contact h2{font-size:27px}.project-detail h1{font-size:43px}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
