@charset "UTF-8";
[hidden]{display:none!important}
:root{--paper:#f2efe7;--ink:#252822;--muted:#4d5147;--line:#d7d8cb;--orange:#e85c36;--sage:#c7d0ad;--cream:#fff9ef;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ad3a1d;outline-offset:5px}button{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.05;letter-spacing:-.055em}.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;padding:12px 20px;background:var(--ink);color:white;z-index:20}.skip:focus{top:10px}.header{display:flex;align-items:center;gap:38px;min-height:110px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;margin-right:auto;font-size:20px;font-weight:700;letter-spacing:-.05em;white-space:nowrap}.brand-mark{display:grid;place-items:center;background:var(--orange);color:var(--cream);height:38px;width:38px;font-size:31px;line-height:1;letter-spacing:-.08em;padding-bottom:3px}.brand-suffix{font-size:16px;font-weight:400;color:var(--muted);letter-spacing:0}.header nav{display:flex;gap:28px;font-size:17px}.header nav a:hover,.text-link:hover,.quiet-link:hover{text-decoration:underline;text-underline-offset:5px}.languages{display:flex;gap:5px;align-items:center;font:15px var(--mono)}.languages button{border:0;background:none;padding:8px 3px;color:var(--muted)}.languages button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.hero{padding-top:42px}.hero-meta{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow,.tiny{font:14px/1.6 var(--mono);letter-spacing:.09em}.eyebrow{font-weight:500}.location{display:flex;gap:10px;align-items:center;font:15px var(--mono)}.status-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#708347}.hero-grid{display:grid;grid-template-columns:1fr 230px;gap:40px;padding:70px 0 66px;align-items:center}h1{font-size:clamp(54px,7.2vw,100px);letter-spacing:-.065em;line-height:1.04}.serif{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.055em}.hero-intro{max-width:490px;margin-top:30px;color:var(--muted);font-size:18px;line-height:1.8}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:32px}.button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;padding:14px 22px;font-size:16px;line-height:1.5;border:1px solid transparent;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.dark{background:var(--ink);color:var(--cream)}.light{background:var(--cream);color:var(--ink)}.quiet-link,.text-link{font-size:16px}.note{border-top:1px solid var(--line);align-self:center;padding-top:22px;max-width:205px;margin-left:auto}.note-symbol{color:var(--orange);font-size:60px;line-height:1;display:block;transform:rotate(-12deg);transform-origin:left}.note p{font-size:17px;line-height:1.8;margin:22px 0}.note .tiny{font-size:14px;color:var(--muted)}.hero-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:20px 0 38px;font-size:15px;color:var(--muted)}.scroll-link{font:14px var(--mono);letter-spacing:.08em;display:flex;gap:25px;color:var(--ink)}.scroll-link span:last-child{font-size:26px}.work-section{padding:40px 0 85px}.section-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.section-title p{font-size:20px;line-height:1.45;letter-spacing:-.03em;width:290px}.featured{display:grid;grid-template-columns:45% 55%;background:var(--sage);border-radius:3px;overflow:hidden}.featured-copy{padding:40px}.project-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.index-number{font:16px var(--mono);border-bottom:1px solid #879175;padding:5px 0}.pill{font:14px/1.5 var(--mono);letter-spacing:.06em;border:1px solid #97a287;padding:5px 8px;border-radius:20px}.featured h2{font-size:clamp(60px,7vw,92px);margin:35px 0 20px}.period{color:var(--orange)}.project-tagline{font-size:23px;line-height:1.25;letter-spacing:-.04em}.project-description{font-size:17px;line-height:1.85;margin-top:18px;max-width:340px;color:#48513d}.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:22px 0;font:14px var(--mono);color:#4e5742}.tags li{border:1px solid #9ca88a;border-radius:20px;padding:5px 10px}.project-links{display:flex;gap:18px;align-items:center;margin-top:28px;flex-wrap:wrap}.folio-preview{padding:42px 36px 20px 0;align-self:center}.window-bar{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:12px 16px;background:#fffdf5;font:14px var(--mono);border-bottom:1px solid #ddd;border-radius:7px 7px 0 0}.window-dots{font-size:14px;color:#b6b9aa;letter-spacing:1px}.folio-image{max-height:405px;overflow:hidden;border-radius:0 0 5px 5px;background:#ebefff}.folio-image img{width:100%;height:405px;object-fit:cover;object-position:top;transition:object-position 1.2s}.folio-preview:hover .folio-image img{object-position:center}.image-caption{display:block;font:14px var(--mono);margin-top:12px;color:#515d44}.secondary-projects{margin-top:10px}.project-row{display:grid;grid-template-columns:52px 1fr 50px;gap:20px;align-items:start;padding:36px 0;border-bottom:1px solid var(--line)}.row-number{font:15px var(--mono);padding-top:4px;color:var(--muted)}.project-row h3{font-size:30px;margin:12px 0}.project-row p{font-size:17px;color:var(--muted);max-width:550px}.project-row .tags{margin:18px 0 0}.project-row .tags li{border-color:var(--line);color:var(--muted)}.circle-link{border:1px solid #c5c8b9;border-radius:50%;height:44px;width:44px;display:grid;place-items:center;font-size:24px;transition:background .18s}.circle-link:hover{background:var(--sage)}.lab-row{padding:30px 0}.lab-row h3{font-size:24px}.services{padding-bottom:85px}.service-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:35px}.service-list article{padding:28px 30px 0 0}.service-list article+article{padding-left:30px;border-left:1px solid var(--line)}.service-no{font:14px var(--mono);color:var(--orange)}.service-list h3{font-size:23px;margin:23px 0 15px;line-height:1.2}.service-list p{font-size:17px;color:var(--muted);line-height:1.85}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:65px 0 90px;border-top:1px solid var(--line)}.about h2{font-size:54px;line-height:1.07;margin-top:28px}.identity{display:flex;gap:15px;align-items:center;margin-top:32px}.identity-mark{background:var(--orange);color:var(--cream);border-radius:50%;width:50px;height:50px;display:grid;place-items:center;font-size:34px;letter-spacing:-.1em;padding-bottom:4px}.identity p{font-size:16px;line-height:1.8}.identity p span{font-size:14px;color:var(--muted)}.about-copy{padding-top:40px}.large-copy{font-size:22px;line-height:1.5;letter-spacing:-.03em}.about-copy>p:not(.large-copy){font-size:17px;line-height:1.9;color:var(--muted);margin-top:24px}.about details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:30px;padding:15px 0;font-size:16px}.about summary{cursor:pointer}.about details p{padding:16px 0 5px;color:var(--muted);line-height:1.8}.contact-section{background:var(--orange);padding:45px 0 55px}.contact-top{display:flex;justify-content:space-between;align-items:center}.contact-star{font-size:66px;line-height:1;transform:rotate(-12deg)}.contact-section h2{font-size:clamp(50px,6.5vw,86px);margin:16px 0 25px;line-height:1.03}.contact-section p{max-width:445px;font-size:18px;line-height:1.8;margin-bottom:30px}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #923a23;padding-bottom:20px;font-size:clamp(17px,3.1vw,40px);letter-spacing:-.04em}.contact-email:hover{color:#fff7e8}.copy-email{background:none;border:0;border-bottom:1px solid #923a23;padding:0 0 2px;margin-top:18px;font:15px var(--mono)}.copy-status{margin-left:16px}.footer{display:flex;gap:20px;justify-content:space-between;padding:25px 0;color:var(--muted);font:14px/1.7 var(--mono)}.case-main{padding:50px 0 80px}.back-link{font-size:16px;display:inline-block;margin-bottom:48px}.case-title{font-size:clamp(50px,8vw,100px);margin:20px 0}.case-lead{font-size:20px;line-height:1.6;max-width:720px;color:var(--muted)}.case-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:38px 0}.case-meta dt{font:14px var(--mono);letter-spacing:.08em;margin-bottom:8px;color:var(--muted)}.case-meta dd{margin:0;font-size:17px}.case-visual{background:#d8dfeb;border-radius:4px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:25px;max-height:580px;overflow:hidden}.case-visual img{width:100%;height:auto;border-radius:4px;box-shadow:0 12px 45px #26344415}.case-visual img+img{margin-top:65px}.case-body{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:50px}.case-body h2{font-size:33px;margin-bottom:22px}.case-body p,.case-body li{font-size:18px;color:var(--muted);line-height:1.85}.case-body p+p{margin-top:20px}.case-body ul{padding-left:20px}.case-body .eyebrow{display:block;margin-bottom:20px;color:var(--orange)}.case-cta{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:35px}.case-note{padding:18px 22px;border:1px solid var(--line);margin-top:32px;font-size:16px;color:var(--muted)}.demo-panel{border:1px solid var(--line);background:#fffaf0;border-radius:4px;padding:28px;margin-top:35px}.demo-bar{display:flex;align-items:center;gap:18px;justify-content:space-between;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:20px}.demo-bar h2{font-size:22px}.demo-filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:none;padding:7px 12px;font:14px var(--mono)}.filter[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.demo-item{display:grid;grid-template-columns:1fr auto;gap:15px;padding:23px 0;border-bottom:1px solid var(--line)}.demo-item h3{font-size:19px;letter-spacing:-.03em;line-height:1.3}.demo-item p{font-size:16px;color:var(--muted);margin-top:7px}.demo-item .eyebrow{color:var(--orange);font-size:14px;margin-bottom:6px}.demo-budget{font:16px var(--mono);white-space:nowrap;align-self:center}.demo-label{font:14px/1.7 var(--mono);color:var(--muted);margin-top:16px}.lab-controls{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:24px}.lab-controls label{font-size:16px;display:flex;gap:12px;align-items:center}.lab-controls input{width:140px;accent-color:var(--orange)}.frame-scroll{overflow:auto;border:1px solid var(--line);background:#dadcce;padding:22px;max-width:100%}.repair-frame{display:block;border:0;background:white;height:520px;width:360px;margin-inline:auto;max-width:none}.lab-status{font:15px var(--mono);margin-top:15px}.lab-explanation{margin-top:25px;padding-top:25px;border-top:1px solid var(--line)}.lab-explanation pre{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.8 var(--mono)}.lab-explanation h3{font-size:21px;margin-bottom:15px}
@media(min-width:1450px){.hero-grid{padding:85px 0}.hero-intro{font-size:20px}.featured-copy{padding:46px}.folio-image,.folio-image img{height:450px;max-height:450px}}@media(max-width:950px){.wrap{width:calc(100% - 48px)}.header{gap:20px;min-height:90px}.brand-suffix{display:none}.header nav{gap:18px}.hero-grid{grid-template-columns:1fr 175px;gap:20px;padding:55px 0}h1{font-size:70px}.hero-intro{max-width:410px;font-size:18px}.note p{font-size:16px}.featured-copy{padding:30px}.featured{grid-template-columns:48% 52%}.folio-preview{padding:25px 25px 15px 0}.featured h2{font-size:70px}.project-tagline{font-size:21px}.project-description{font-size:16px}.featured .project-top{align-items:flex-start}.pill{font-size:14px;padding:4px}.featured .button{padding:12px 15px;gap:15px}.project-links{gap:15px}.folio-image,.folio-image img{height:400px}.about{gap:45px}.about h2{font-size:47px}.large-copy{font-size:20px}.case-body{gap:35px}.case-visual{max-height:460px}}@media(max-width:650px){.wrap{width:calc(100% - 36px)}.header{min-height:78px;gap:16px;flex-wrap:wrap;padding:16px 0}.brand{font-size:20px;gap:8px}.brand-mark{width:32px;height:32px;font-size:27px}.header nav{gap:16px;font-size:15px}.header nav a:nth-child(2){display:none}.languages{font-size:14px;gap:2px}.hero{padding-top:25px}.hero-meta{align-items:flex-start}.hero-meta .eyebrow{font-size:14px;max-width:190px}.location{font-size:14px;gap:6px;white-space:nowrap}.hero-grid{display:block;padding:42px 0 28px}h1{font-size:clamp(43px,9vw,63px)}.hero-intro{font-size:18px;margin-top:23px;max-width:420px}.hero-actions{gap:20px;margin-top:24px}.button{padding:13px 17px;gap:24px}.quiet-link{font-size:14px;max-width:120px}.note{max-width:none;margin:35px 0 0;padding:18px 0 0;display:grid;grid-template-columns:44px 1fr;gap:10px}.note-symbol{font-size:40px;grid-row:span 2}.note p{margin:0;font-size:15px;line-height:1.7}.note p br{display:initial}.note .tiny{font-size:14px;grid-column:2}.hero-bottom{padding:16px 0 25px;font-size:14px;gap:15px}.scroll-link{font-size:14px;gap:9px}.scroll-link span:last-child{font-size:20px}.work-section{padding:24px 0 55px}.section-title{gap:20px;margin-bottom:23px}.section-title .eyebrow{font-size:14px;max-width:150px}.section-title p{width:auto;max-width:180px;font-size:18px}.featured{grid-template-columns:1fr}.featured-copy{padding:25px}.featured h2{margin:30px 0 15px;font-size:74px}.project-tagline{font-size:24px}.project-description{font-size:17px;max-width:none}.pill{font-size:14px}.project-links{margin-top:22px}.folio-preview{padding:8px 24px 24px}.folio-image,.folio-image img{height:315px}.window-bar{padding:10px 12px}.project-row{grid-template-columns:25px 1fr 35px;gap:12px;padding:28px 0}.project-row h3{font-size:25px}.project-row .eyebrow{font-size:14px}.project-row p{font-size:16px}.circle-link{width:34px;height:34px;font-size:20px}.tags{gap:6px}.tags li{font-size:14px;padding:4px 8px}.lab-row h3{font-size:21px}.services{padding-bottom:50px}.service-list{grid-template-columns:1fr;margin-top:25px}.service-list article,.service-list article+article{display:grid;grid-template-columns:35px 1fr;gap:12px;padding:22px 0;border:0;border-bottom:1px solid var(--line)}.service-no{grid-row:span 2;padding-top:3px}.service-list h3{font-size:22px;margin:0}.service-list p{font-size:16px;grid-column:2}.about{grid-template-columns:1fr;gap:28px;padding:35px 0 50px}.about h2{font-size:47px;margin-top:23px}.identity{margin-top:25px}.about-copy{padding-top:0}.large-copy{font-size:21px}.contact-section{padding:30px 0 35px}.contact-top .eyebrow{font-size:14px}.contact-star{font-size:46px}.contact-section h2{font-size:clamp(43px,10vw,63px)}.contact-section p{font-size:17px;max-width:340px}.contact-email{font-size:clamp(16px,4.9vw,28px);letter-spacing:-.04em;padding-bottom:14px}.copy-email{font-size:14px}.footer{flex-wrap:wrap;font-size:14px;padding:20px 0;gap:12px}.footer span:nth-child(2){display:none}.footer a{margin-left:auto}.case-main{padding:30px 0 55px}.back-link{margin-bottom:28px}.case-title{font-size:56px}.case-lead{font-size:19px}.case-meta{grid-template-columns:1fr;gap:18px;margin:26px 0;padding:20px 0}.case-meta dt{margin-bottom:3px}.case-visual{padding:15px;gap:12px;max-height:340px}.case-visual img+img{margin-top:35px}.case-body{grid-template-columns:1fr;gap:30px;padding-top:30px}.case-body h2{font-size:29px}.case-body p,.case-body li{font-size:17px}.case-note{font-size:15px;padding:15px}.demo-panel{padding:17px}.demo-bar{gap:15px}.demo-item h3{font-size:18px}.demo-budget{font-size:14px}.demo-item{gap:10px}.demo-label{font-size:14px}.lab-controls{gap:16px}.lab-controls label{font-size:15px;flex-wrap:wrap;gap:8px}.lab-controls input{width:120px}.frame-scroll{padding:12px}.repair-frame{margin:0;height:460px}.case-cta{gap:15px}.lab-status{font-size:14px}}
@media(min-width:651px) and (max-width:800px){.hero-grid{grid-template-columns:1fr;gap:26px;padding:45px 0}.hero-grid h1{font-size:clamp(54px,8vw,64px)}.note{max-width:none;margin:0;display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start}.note-symbol{font-size:40px;grid-row:span 2}.note p{margin:0}.note .tiny{grid-column:2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Comfortable reading and controls across screen sizes. */
.header nav{flex-wrap:wrap}.languages button{min-width:44px;min-height:44px}.hero-intro{max-width:56ch}.hero-actions{flex-wrap:wrap}.note{max-width:250px}.eyebrow,.tiny{letter-spacing:.035em}.project-top,.hero-meta,.hero-bottom,.section-title{flex-wrap:wrap}.pill{max-width:100%}.window-bar{flex-wrap:wrap}.window-dots{flex-shrink:0}.tags li{font-size:14px}.project-description,.project-row p,.service-list p{max-width:60ch}.about-copy,.case-body>div,.featured-copy,.project-row>div{min-width:0}.case-title{overflow-wrap:anywhere}.case-meta dd{overflow-wrap:anywhere}.button,.filter,.copy-email{min-height:44px}.copy-email{padding:8px 0}.copy-status{display:block;margin:12px 0 0}.footer{flex-wrap:wrap}.contact-email{font-size:clamp(18px,3.1vw,40px);overflow-wrap:anywhere}.demo-label{font-family:var(--sans);font-size:16px}.demo-item p{font-size:17px}.case-note{font-size:17px;line-height:1.7}.case-body p,.case-body li{font-size:18px}.case-meta dd{font-size:18px}.lab-status{line-height:1.7}.lab-controls label{flex-wrap:wrap}.hero-grid{grid-template-columns:minmax(0,1fr) 250px}
@media(max-width:950px){.hero-grid{grid-template-columns:1fr}.note{max-width:none;margin:0;display:grid;grid-template-columns:44px 1fr;gap:14px}.note-symbol{font-size:40px;grid-row:span 2}.note p{margin:0}.note .tiny{grid-column:2}.featured{grid-template-columns:1fr}.folio-preview{padding:8px 30px 30px}.service-list{grid-template-columns:1fr}.service-list article,.service-list article+article{padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}.service-list h3{margin-top:12px}.case-body{grid-template-columns:1fr}}
@media(max-width:650px){.header{gap:12px}.header nav{order:3;flex-basis:100%;gap:24px}.header nav a:nth-child(2){display:inline}.brand{margin-right:auto}.hero-meta{gap:12px}.hero-meta .eyebrow{max-width:none}.hero-intro{font-size:18px;line-height:1.75}.hero-actions{align-items:stretch;gap:16px}.hero-actions .quiet-link{max-width:none;display:flex;align-items:center;min-height:44px;font-size:17px}.note{margin-top:30px}.note p{font-size:17px}.section-title{display:block}.section-title p{max-width:none;width:auto;font-size:21px;margin-top:12px}.project-top{align-items:start}.featured-copy{padding:24px}.project-tagline{font-size:27px}.project-description{font-size:18px}.project-row{grid-template-columns:1fr 44px}.row-number{grid-column:1/-1}.project-row h3{font-size:29px;line-height:1.2}.project-row p{font-size:18px}.circle-link{height:44px;width:44px}.service-list p{font-size:18px}.service-list h3{font-size:25px}.about{gap:24px}.about h2{font-size:43px}.about-copy>p:not(.large-copy){font-size:18px}.about details{font-size:17px}.identity p{font-size:17px}.identity p span{font-size:16px}.contact-section p{font-size:18px}.case-title{font-size:clamp(40px,11vw,56px)}.case-lead{font-size:20px}.demo-item{grid-template-columns:1fr}.demo-item h3{font-size:21px}.demo-budget{font-size:16px}.lab-controls input{min-width:160px}.lab-status{font-size:15px}.case-cta{align-items:stretch;flex-direction:column}.case-cta .text-link{padding-block:12px}.footer{font-size:14px}}

.project-description,.project-row p,.service-list p,.about-copy>p:not(.large-copy){font-size:18px}

.header nav a{font-size:17px;min-height:44px;display:inline-flex;align-items:center}
