@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f6f5ee;--ink:#183c32;--muted:#636b60;--line:#d8dcd0;--lime:#d7ee9f;--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--font)}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #a36130;outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}button{border:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.08;letter-spacing:-.055em}h1{font-size:clamp(50px,5.2vw,78px)}h2{font-size:clamp(38px,4vw,58px)}h3{font-size:27px;letter-spacing:-.035em}em{font:inherit;font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.045em}p{color:var(--muted)}.wrap{max-width:1320px;width:calc(100% - 112px);margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;padding-block:25px;border-bottom:1px solid var(--line);gap:25px}.wordmark{font-family:var(--display);font-size:36px;font-weight:800;letter-spacing:-4px;line-height:1}.wordmark span{font-size:27px;margin-left:5px;color:#73914d;vertical-align:top}.header nav{display:flex;gap:34px;font-size:14px}.header a:hover,.footer a:hover,.text-link:hover{color:#6e873d}.nav-contact{font-size:14px;border:1px solid #b3beb0;border-radius:50px;padding:9px 20px}.nav-contact span{margin-left:25px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding-block:65px 70px;align-items:center}.eyebrow{text-transform:uppercase;font-family:var(--font);font-size:10px;font-weight:600;letter-spacing:.14em;color:inherit;line-height:1.7}.hero .eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:28px}.status-dot{width:7px;height:7px;background:#729150;border-radius:50%;box-shadow:0 0 0 4px #e7ecd9}.hero h1{line-height:1.09}.hero-description{font-size:17px;max-width:440px;margin-top:28px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-radius:50px;padding:14px 24px;font-size:14px;font-weight:500;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.dark{background:var(--ink);color:var(--paper)}.light{background:var(--lime);color:var(--ink)}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid #a9b4a4;padding-bottom:4px}.hero-footnote{font-size:11px;color:var(--muted);margin-top:40px;display:flex;gap:12px;align-items:center}.tiny-star{font-size:27px;color:#749151}.hero-photo{height:530px;position:relative;transform:rotate(2deg);margin-right:8px}.hero-photo img{width:100%;height:100%;border-radius:5px;object-position:50% 44%;filter:saturate(.8)}.hero-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#102d36b0);border-radius:0 0 5px 5px;pointer-events:none}.hero-photo figcaption{position:absolute;bottom:22px;left:26px;color:white;z-index:1;display:grid;gap:4px}.hero-photo figcaption span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.hero-photo figcaption strong{font-size:17px;font-weight:500}.photo-stamp{position:absolute;top:25px;right:-22px;z-index:2;width:106px;height:106px;background:var(--lime);border-radius:50%;display:grid;place-content:center;text-align:center;font-size:12px;line-height:1.4;font-weight:700;letter-spacing:.09em;transform:rotate(10deg)}.ticker{border-block:1px solid var(--line)}.ticker .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:20px;font-size:10px;letter-spacing:.14em;font-weight:500}.ticker b{font-size:23px;font-weight:400;color:#79934e}.section{padding-block:100px}.section-heading,.outside-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:42px}.section-heading .eyebrow,.outside .eyebrow,.about .eyebrow{margin-bottom:20px}.section-heading>p,.outside-heading>p{font-size:14px;line-height:1.8;padding-bottom:5px}.filters{display:flex;gap:8px;margin-bottom:30px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid var(--line);border-radius:40px;font-size:12px;padding:9px 17px}.filters button span{margin-left:16px;opacity:.6;font-size:10px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 30px}.project[hidden]{display:none}.project-open{padding:0;width:100%;text-align:left;background:transparent;display:block}.project-art{height:315px;border-radius:5px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:transform .35s}.project-open:hover .project-art{transform:translateY(-5px)}.project-copy{padding-top:22px}.project-copy .eyebrow{color:var(--muted);font-size:9px;margin-bottom:12px}.project h3{display:flex;justify-content:space-between;gap:12px;font-size:25px}.project h3 span{font-size:24px;font-weight:400}.project-copy>p:not(.eyebrow){font-size:14px;margin-top:13px;max-width:440px}.tags{display:flex;gap:8px;margin-top:17px}.tags span{font-size:10px;padding:3px 9px;border:1px solid var(--line);border-radius:20px}.art-label{position:absolute;bottom:17px;left:23px;font-size:8px;letter-spacing:.1em;right:15px;opacity:.7}.builder-art{background:#dfe6d6}.mini-window{width:85%;background:#fafbf7;border:1px solid #b6c5ae;border-radius:7px;box-shadow:10px 20px 35px #3652291c;transform:rotate(-3deg)}.window-bar{font-size:7px;padding:10px 13px;border-bottom:1px solid #e0e5da;display:flex;justify-content:space-between;color:#78866b}.builder-layout{display:grid;grid-template-columns:32% 1fr;min-height:174px}.builder-sidebar{padding:18px 12px;border-right:1px solid #e0e5da;display:grid;gap:10px;font-size:8px}.builder-sidebar span{background:#eef1e8;padding:3px 6px;border-radius:3px}.builder-preview{padding:23px 18px}.builder-preview small{font-size:7px;letter-spacing:.1em}.mock-search{border:1px solid #d8dfd2;padding:7px;margin:10px 0;font-size:7px;display:flex;justify-content:space-between}.mock-results{display:flex;gap:7px}.mock-results i{display:block;width:33%;height:55px;background:#cedbbf;border-radius:3px}.mock-results i:nth-child(2){background:#e9cfaa}.mock-results i:nth-child(3){background:#c4d6d2}.agent-art{background:#1b4036;color:#e3edce}.orbit{border:1px solid #6a8c6d7d;position:absolute;border-radius:50%;width:300px;height:170px;transform:rotate(-28deg)}.orbit-two{transform:rotate(28deg)}.node{position:absolute;text-align:center;font-size:10px;line-height:1.4;background:#1b4036;padding:12px;border:1px solid #6a8c6d;border-radius:8px}.central{font-size:50px;width:90px;height:90px;border-radius:50%;background:#d8ecab;color:#234834;display:grid;place-content:center;border:0}.source{left:10%;top:22%}.context{right:10%;top:20%}.answer{bottom:22%;right:12%}.workflow-art{background:#eadfcf;display:flex;flex-direction:column;gap:9px;padding:40px}.workflow-line{width:100%;border-bottom:1px solid #c8bbab;display:grid;grid-template-columns:30px 90px 1fr;align-items:center;padding:13px 0;font-family:Georgia,serif;font-size:22px}.workflow-line span{font:10px var(--font);color:#8a7c6c}.workflow-line b{font:10px var(--font);font-weight:400;text-align:right}.portfolio-art{background:#cbdad5;flex-direction:column;align-items:start;padding:35px}.portfolio-title{font:italic 29px Georgia,serif;letter-spacing:-.03em}.priority-bars{width:100%;margin-top:22px;display:grid;gap:15px}.priority-bars>div{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:10px;font-size:10px}.priority-bars i{width:var(--bar);height:13px;background:#4d7662;border-radius:0 20px 20px 0}.jobs-art{background:#e8e7dc}.paper-stack{background:#fafaf4;width:80%;padding:25px;transform:rotate(3deg);box-shadow:9px 9px 0 #d1d1bd;border:1px solid #c9cab9}.paper-heading{font:italic 24px Georgia,serif}.paper-heading span{display:block;font:7px var(--font);letter-spacing:.1em;margin-top:10px;margin-bottom:18px;color:#7f8575}.paper-row{display:flex;align-items:center;gap:12px;border-top:1px solid #dfe1d6;padding:10px 0;font-size:10px}.paper-row span{font-size:8px;opacity:.5}.paper-row b{margin-left:auto}.spotify-art{background:#c8dfa1;gap:35px}.record{border-radius:50%;width:205px;height:205px;background:repeating-radial-gradient(circle,#203f2e 0px,#203f2e 2px,#294c36 3px,#203f2e 4px);display:grid;place-content:center;transform:rotate(-15deg)}.record>div{border-radius:50%;width:80px;height:80px;background:#e5b378;display:grid;place-content:center;text-align:center;font-size:25px;font-weight:700;line-height:1}.record small{font-size:6px;letter-spacing:.1em;margin-top:8px}.sound-bars{display:flex;align-items:center;gap:6px;height:100px}.sound-bars i{width:7px;background:#547849;border-radius:10px;height:50%}.sound-bars i:nth-child(2n){height:90%}.sound-bars i:nth-child(3n){height:30%}.about{background:#e9ecdf}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about h2{font-size:52px}.about-portrait{width:90px;height:90px;border-radius:50%;margin-top:35px;filter:saturate(.65)}.about-copy p{margin-bottom:22px;font-size:15px}.about-copy .lead{font-size:23px;line-height:1.5;color:var(--ink);letter-spacing:-.025em}.about-facts{border-top:1px solid #c8cebe;margin-top:30px;margin-bottom:30px}.about-facts>div{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid #c8cebe;padding:13px 0;gap:10px;font-size:12px}.about-facts small{font-size:9px;letter-spacing:.1em;color:var(--muted)}.photo-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;margin-bottom:28px}.photo-grid a{position:relative;overflow:hidden;border-radius:4px;height:390px}.photo-grid img{height:100%;width:100%;transition:transform .5s;filter:saturate(.8)}.photo-grid a:hover img{transform:scale(1.03)}.photo-grid span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#102c32c9);color:white;padding:60px 23px 22px;font-size:12px}.contact{background:var(--ink);color:var(--paper);border-radius:5px;padding:50px 60px;margin-bottom:80px}.contact h2{font-size:60px;margin-top:20px}.contact>div{display:flex;align-items:center;justify-content:space-between;margin-top:30px}.contact p{color:#cad6c8}.contact .eyebrow{color:#d5e9b4}.footer{display:flex;align-items:center;gap:30px;padding-block:25px 45px;border-top:1px solid var(--line);flex-wrap:wrap}.footer p,.footer a:not(.wordmark),.footer small{font-size:11px}.footer>div{margin-left:auto;display:flex;gap:20px}.footer small{color:var(--muted)}dialog{width:min(800px,calc(100% - 30px));max-height:90dvh;overflow:auto;background:var(--paper);color:var(--ink);border:0;border-radius:9px;padding:35px 45px;box-shadow:0 30px 120px #0005}dialog::backdrop{background:#102b27c9;backdrop-filter:blur(6px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px}.close-dialog{background:transparent;font-size:12px;padding:8px}.dialog-title{font-size:45px;margin:12px 0 20px}.dialog-lead{font-size:21px;line-height:1.5;color:var(--ink)}.dialog-body h3{font-size:23px;margin:30px 0 12px}.dialog-body p{font-size:15px;margin-bottom:15px}.dialog-body ul{padding-left:20px;font-size:15px;color:var(--muted)}.dialog-metric{background:#e5ebd7;padding:20px 25px;margin:25px 0;border-left:3px solid #759751}.dialog-metric strong{font:36px var(--display);letter-spacing:-.05em;display:block}.dialog-metric span{font-size:12px;color:var(--muted)}.dialog-note{font-size:11px!important;margin-top:24px;padding-top:15px;border-top:1px solid var(--line)}.skip{position:absolute;left:15px;top:-100px;z-index:100;background:var(--lime);padding:10px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.archive{padding-top:65px;padding-bottom:80px}.archive>.lead{margin-top:25px;max-width:600px;font-size:21px}.archive-content{max-width:900px;margin-top:50px}.archive-content>div{margin-top:60px}.archive-content h1,.archive-content h2{font-size:32px;margin:25px 0 15px}.archive-content p{margin:15px 0}.archive-content ul{padding-left:20px;color:var(--muted)}.archive-content li{margin-bottom:13px}.archive-content a:not(.archive-photos a){text-decoration:underline;text-underline-offset:3px}.archive-content .small-text{font-size:13px}.archive-photos,.archive-gallery{display:flex;gap:20px}.archive-photos figure{flex:1;margin:0}.archive-photos img{height:230px;width:100%;border-radius:4px}.archive-photos figcaption,.archive-gallery figcaption{font-size:12px;margin-top:10px}.archive-gallery figure{width:50%}.archive-gallery img{height:350px;width:100%;border-radius:4px}.resume{max-width:1000px}.resume-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:25px}.resume h1{font-size:48px;margin:15px 0}.resume .lead{font-size:20px}.resume section{border-top:1px solid var(--line);padding-top:25px;margin-top:35px}.resume section h2{font-size:27px;margin-bottom:18px}.resume h2 small{display:block;font:13px var(--font);color:var(--muted);letter-spacing:0;margin-top:10px}.resume p{margin-bottom:15px}.resume li{margin:12px 0}.resume a:not(.button){text-decoration:underline}
@media(min-width:1500px){.hero{gap:100px}.hero-photo{height:590px}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{gap:35px}.hero h1{font-size:55px}.hero-photo{height:490px}.hero-actions{gap:20px}.hero-footnote{max-width:300px}.about-grid{gap:45px}.about h2{font-size:44px}.project-art{height:280px}.project h3{font-size:23px}.workflow-art{padding:25px}.workflow-line{grid-template-columns:25px 80px 1fr;font-size:19px}.header nav{gap:20px}.footer small{width:100%}.record{width:170px;height:170px}.spotify-art{gap:20px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{padding-block:21px;gap:15px}.wordmark{font-size:31px}.header nav{gap:16px;font-size:11px}.nav-contact{display:none}.hero{grid-template-columns:1fr;padding-block:40px 45px;gap:38px}.hero h1{font-size:clamp(43px,10vw,65px)}.hero .eyebrow{font-size:8px;margin-bottom:22px;letter-spacing:.08em}.hero-description{font-size:16px;margin-top:24px}.hero-footnote{margin-top:23px;max-width:none;font-size:10px}.hero-photo{height:450px;max-width:460px;width:94%;margin:auto;transform:rotate(1.5deg)}.photo-stamp{width:90px;height:90px;right:-12px;top:20px;font-size:10px}.hero-actions{margin-top:25px;gap:22px}.button{padding:12px 21px;gap:25px;font-size:12px}.text-link{font-size:12px}.ticker .wrap{gap:16px;padding-block:15px;flex-wrap:wrap;justify-content:center;font-size:8px}.ticker b{font-size:17px}.ticker b:last-of-type{display:none}.ticker span:last-child{display:none}.section{padding-block:65px}.section-heading,.outside-heading{display:block;margin-bottom:30px}.section-heading>p,.outside-heading>p{margin-top:25px;font-size:13px}.section-heading h2{font-size:39px}.project-grid{grid-template-columns:1fr;gap:35px}.project-art{height:290px}.project-copy{padding-top:18px}.project h3{font-size:25px}.filters{gap:7px}.filters button{font-size:10px;padding:8px 12px}.filters button span{margin-left:7px}.about-grid{grid-template-columns:1fr;gap:35px}.about h2{font-size:43px}.about-portrait{margin-top:25px}.about-copy .lead{font-size:22px}.about-facts>div{grid-template-columns:85px 1fr}.photo-grid{grid-template-columns:1fr;gap:20px}.photo-grid a{height:330px}.contact{padding:35px 25px;margin-bottom:50px}.contact h2{font-size:43px}.contact>div{align-items:start;gap:25px;flex-direction:column}.contact p{font-size:14px}.footer{gap:20px;padding-bottom:30px}.footer>div{margin-left:0;width:100%;gap:25px}.footer small{width:auto}dialog{padding:23px}.dialog-title{font-size:36px}.dialog-lead{font-size:18px}.resume-heading{align-items:start;flex-direction:column}.resume h1{font-size:39px}.resume li{font-size:14px}.resume ul{padding-left:20px}.archive-photos{flex-direction:column}.archive-photos img{height:320px}.archive-gallery{flex-direction:column}.archive-gallery figure{width:100%}.archive h1{font-size:48px}.archive-content h1,.archive-content h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{body{background:white;color:black;font-size:10pt}.header,.footer,#print-resume,.skip{display:none}.wrap{width:100%;max-width:none}.resume{padding:0}.resume h1{font-size:25pt}.resume section{margin-top:15px;padding-top:15px}.resume section h2{font-size:16pt}.resume p,.resume li{font-size:10pt;color:black}.resume li{margin:6px 0}.resume-heading{margin-bottom:10px}.resume a{color:black}.resume h2{break-after:avoid}li{break-inside:avoid}@page{margin:16mm}}
