:root{--paper:#f6f5f0;--ink:#202721;--muted:#626b62;--line:#dedfd6;--green:#456343;--lime:#dce9b4;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--sans)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img,iframe{max-width:100%}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}::selection{background:var(--lime)}[hidden]{display:none!important}.shell{width:min(1240px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;left:15px;top:15px;padding:12px;background:var(--ink);color:white;z-index:100;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-inline:48px;max-width:1536px;margin:auto}.wordmark{font-size:32px;font-weight:750;letter-spacing:-2px;display:flex;align-items:center;gap:8px}.wordmark>span{color:#8d9588;font-weight:350}.wordmark small{font:10px var(--mono);letter-spacing:1.4px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:13px}.site-header nav a:hover,.text-link:hover,.contact-socials a:hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{border:1px solid var(--ink);padding:10px 18px;border-radius:30px}.menu-toggle{display:none}.hero{padding-top:38px}.hero-kicker{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.availability-dot{width:7px;height:7px;background:var(--green);border-radius:50%}.hero-location{margin-left:auto;font:11px var(--mono)}.hero-grid{display:grid;grid-template-columns:1.07fr 1fr;gap:70px;align-items:center;padding:54px 0 58px}.eyebrow{font:10px/1.6 var(--mono);letter-spacing:1.7px;color:var(--muted);margin:0 0 20px}h1{font-size:clamp(64px,6.5vw,94px);line-height:1.01;font-weight:550;letter-spacing:-5px;margin:0 0 26px}em{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}h1 em{color:var(--green)}.hero-description{font-size:16px;color:var(--muted);max-width:420px;line-height:1.8;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;border:0;border-radius:5px;padding:16px 22px;font-size:12px;font-weight:550;line-height:1.5;transition:transform .18s,background .18s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-light{background:var(--paper);color:var(--ink)}.text-link{font-size:12px}.hero-aside{padding-top:30px;min-width:0}.work-label,.work-caption{display:flex;justify-content:space-between;gap:12px;font:9px var(--mono);letter-spacing:.8px}.work-label{padding:0 0 16px;color:var(--muted)}.work-caption{padding:18px 0;letter-spacing:0;color:var(--muted)}.work-caption a{color:var(--ink)}.hero-art{height:425px;background:#e6e9dc;border-radius:8px;position:relative;overflow:hidden}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#b9c1ad30 1px,transparent 1px),linear-gradient(90deg,#b9c1ad30 1px,transparent 1px);background-size:35px 35px}.art-note{position:absolute;background:#f7f5e7;box-shadow:0 16px 30px #24302412;border-radius:6px;padding:25px;width:260px}.note-one{top:52px;left:32px;transform:rotate(-7deg);background:#e6edbd}.art-note h3{font:27px/1.1 var(--serif);letter-spacing:-1px;margin:22px 0 16px}.art-note p{font-size:12px;line-height:1.7}.tiny-label{font:8px var(--mono);letter-spacing:1px;color:#58644f}.note-tag,.mini-tag{display:inline-block;border:1px solid #7e8d6850;border-radius:20px;font-size:9px;padding:3px 8px;margin-top:18px}.note-two{top:219px;right:25px;transform:rotate(5deg);padding:20px;z-index:2}.note-two p{margin:13px 0}.check-box{display:inline-flex;width:13px;height:13px;border:1px solid #66725a;border-radius:2px;align-items:center;justify-content:center;margin-right:8px;font-size:10px}.check-box.done{background:#496443;color:white}.art-stamp{position:absolute;right:24px;top:43px;text-align:center;border:1px solid #668257;transform:rotate(13deg);border-radius:50%;width:85px;height:85px;padding:17px 5px;color:var(--green);font-size:11px;line-height:1.4}.art-stamp em{font-size:16px}.hero-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0;color:var(--muted);font-size:11px}.hero-foot div{display:flex;gap:26px;font:9px var(--mono);letter-spacing:1px}.work-section{padding-block:105px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-heading h2{font-size:52px;line-height:1.05;letter-spacing:-2px;margin:0;font-weight:500}.section-heading p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.8;margin:0 0 5px;max-width:350px}.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-block:1px solid var(--line);padding:18px 0;margin-bottom:32px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{font-size:11px;background:transparent;border:1px solid transparent;border-radius:30px;padding:9px 15px;color:var(--muted)}.filter span{font:9px var(--mono);margin-left:5px;opacity:1}.filter.active{background:var(--ink);color:white}.filter:hover:not(.active){background:#e7e9df}.small-mono{font:10px var(--mono);color:var(--muted);white-space:nowrap}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 30px}.project{min-width:0}.project-cover{height:340px;position:relative;border-radius:8px;overflow:hidden}.cover-top{display:flex;justify-content:space-between;gap:10px;padding:20px 22px;font:8px var(--mono);letter-spacing:1px;position:relative;z-index:2}.cover-note{position:absolute;bottom:13px;right:18px;font:8px var(--mono);opacity:1}.workspace-cover{background:#e5e6de}.workspace-illustration{display:flex;width:calc(100% - 60px);height:233px;margin:9px auto;background:#faf9f3;border:1px solid #d7dacd;border-radius:7px;box-shadow:0 18px 25px #20272110;overflow:hidden}.mini-sidebar{background:#efefe7;border-right:1px solid #e2e3d9;width:95px;flex-shrink:0;padding:16px 10px;font-size:9px;display:flex;flex-direction:column;gap:13px}.mini-sidebar b{font:clamp(12px,1.3vw,18px) var(--serif);padding-bottom:4px}.mini-sidebar .selected{background:#dfe7bd;padding:6px;margin-inline:-5px;border-radius:3px}.mini-workspace{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start;min-width:0;width:100%}.mini-search{grid-column:1/-1;border:1px solid #dfe1d5;padding:8px;border-radius:4px;font-size:8px;margin-bottom:4px;display:flex;justify-content:space-between}.mini-note{border:1px solid #dedfd5;border-radius:5px;padding:12px;background:#fffdf9;font-size:9px}.mini-note strong{display:block;font-size:11px;margin:8px 0}.mini-note p{font-size:9px;margin:7px 0;color:#59634f}.pale-yellow{background:#ebedcf;border-color:#dfe1bb}.mini-tag{font-size:7px;margin-top:6px;padding:2px 5px}.local-cover{background:#dfdfd7}.app-frame{position:absolute;left:0;right:0;top:49px;bottom:0;overflow:hidden;background:#15161c}.app-frame iframe{width:1100px;max-width:none;height:700px;border:0;transform:scale(.55);transform-origin:top left;pointer-events:none}.preview-overlay{position:absolute;inset:49px 0 0;display:flex;align-items:end;justify-content:center;padding:22px;background:linear-gradient(transparent 40%,#15161c90)}.preview-overlay button{box-shadow:0 3px 15px #0003}.hermes-cover{background:#22362a;color:#e9efdb}.hermes-cover .cover-top{opacity:.8}.queue-art{max-width:390px;margin:20px auto;font-family:var(--mono)}.queue-input{display:flex;justify-content:space-between;font-size:11px;color:#c0d39c;margin-bottom:18px}.queue-track{display:flex;border:1px solid #68835b;border-radius:6px;padding:10px;gap:9px;justify-content:center;background:#2e4432}.queue-track span{font-size:11px;display:grid;place-items:center;width:44px;height:32px;border:1px solid #9ba97c;border-radius:3px;background:#d7e3b4;color:#243022}.queue-line{height:35px;border-left:1px solid #819768;margin-left:50%}.worker-row{display:flex;gap:12px}.worker-row>div{flex:1;border:1px solid #63835a;border-radius:4px;padding:14px;text-align:center;font-size:12px}.worker-row span{display:block;font-size:6px;letter-spacing:1px;margin-top:8px;color:#b4cb91}.queue-caption{display:flex;justify-content:space-between;font-size:8px;color:#b4cb91;margin-top:24px;letter-spacing:.8px}.transcript-cover{background:#e8ded3}.terminal-preview{margin:8px 30px 0;background:#252926;border-radius:7px;box-shadow:0 12px 20px #1c211e20;overflow:hidden;color:#e9eadd}.terminal-chrome{border-bottom:1px solid #414b41;display:flex;align-items:center;gap:5px;padding:11px 15px}.terminal-chrome i{width:5px;height:5px;background:#7d8b7a;border-radius:50%}.terminal-chrome span{margin:auto;font:8px var(--mono);color:#91a28c}.terminal-preview code{display:block;padding:18px;font:10px/1.7 var(--mono);white-space:normal}.terminal-prompt,.terminal-accent{color:#d3e899}.terminal-muted{color:#8c9b84;font-size:8px}.project-body{padding:21px 2px 0}.project-meta{font:8px var(--mono);display:flex;justify-content:space-between;gap:10px;color:var(--muted);letter-spacing:.5px}.project-body h3{font-size:26px;letter-spacing:-.8px;font-weight:550;margin:13px 0 9px;line-height:1.2}.project-body>p{font-size:13px;color:var(--muted);line-height:1.8;max-width:490px;margin:0 0 18px}.project-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.project-link{font-size:11px;border:0;padding:0;background:none;color:var(--muted)}.project-link.primary{color:var(--ink);font-weight:650}.project-link:hover{text-decoration:underline;text-underline-offset:4px}.case-study{border-top:1px solid var(--line);margin-top:22px}.case-study summary{padding:15px 0;list-style:none;font-size:11px;display:flex;justify-content:space-between;cursor:pointer;color:var(--muted)}.case-study summary::-webkit-details-marker{display:none}.case-study[open] summary>span{transform:rotate(45deg)}.case-study>div{padding:0 0 20px}.case-study h4{font-size:12px;margin:15px 0 6px}.case-study p,.case-study li{font-size:12px;line-height:1.8;color:var(--muted)}.case-study ul{padding-left:18px}.case-study .case-note{border-left:2px solid var(--green);padding:6px 12px;background:#ebede3}.approach-section{padding:25px 0 100px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;border-top:1px solid var(--line);padding-top:32px}.step-number{font:12px var(--mono);color:var(--green)}.approach-grid h3{font-size:20px;letter-spacing:-.5px;font-weight:500;margin:20px 0 9px}.approach-grid p{font-size:13px;color:var(--muted);max-width:300px;margin:0;line-height:1.8}.contact-section{background:#26392a;color:var(--paper);padding:70px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.contact-section .eyebrow{color:#b9c8ad}.contact-section h2{font-size:64px;font-weight:500;letter-spacing:-2px;line-height:1.05;margin:0 0 20px}.contact-section h2 em{color:#dbe8b9}.contact-section p:not(.eyebrow){color:#b7c5ae;max-width:380px;font-size:13px;line-height:1.8}.contact-actions{justify-self:end}.contact-email{display:block;font-size:18px;padding:27px 0}.contact-socials{display:flex;gap:24px;font-size:11px;color:#cad5c0}.site-footer{display:flex;justify-content:space-between;gap:20px;padding-block:25px;font:9px var(--mono);color:var(--muted)}dialog{border:1px solid var(--line);border-radius:12px;width:min(1200px,96vw);max-width:96vw;padding:0;color:var(--ink);background:var(--paper);box-shadow:0 30px 90px #0005}dialog::backdrop{background:#17221aaa;backdrop-filter:blur(5px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;gap:20px;border-bottom:1px solid var(--line)}.dialog-header h2{margin:0;font-size:19px}.dialog-header p{font-size:11px;margin:4px 0 0;color:var(--muted)}.dialog-close{font-size:28px;padding:0 10px;background:none;border:0;color:var(--ink)}#demo-frame{display:block;width:100%;height:70vh;border:0}.dialog-external{display:block;padding:12px 24px;font-size:11px;text-align:right;border-top:1px solid var(--line)}
@media(min-width:1440px){.hero-art{height:460px}.note-two{top:245px}.app-frame iframe{transform:scale(.565)}}
@media(max-width:1050px){.shell{width:calc(100% - 64px)}.site-header{padding-inline:32px}.hero-grid{gap:35px}h1{font-size:76px;letter-spacing:-4px}.hero-art{height:380px}.art-note{width:220px}.note-one{left:20px;top:50px}.note-two{right:14px;top:213px}.art-stamp{right:12px;top:27px;width:70px;height:70px;padding:12px 4px}.hero-actions{gap:15px}.project-cover{height:310px}.workspace-illustration{width:calc(100% - 36px);height:217px}.mini-sidebar{width:75px}.mini-workspace{padding:12px}.mini-note{padding:8px}.queue-art{margin:15px 25px}.terminal-preview{margin-inline:20px}.terminal-preview code{font-size:9px}.app-frame iframe{transform:scale(.46)}.project-meta{flex-direction:column;gap:5px}.section-heading h2{font-size:46px}}
@media(max-width:760px){html{scroll-padding-top:30px}.shell{width:calc(100% - 40px)}.site-header{height:76px;padding-inline:20px;position:relative}.wordmark{font-size:29px}.menu-toggle{display:flex;align-items:center;gap:20px;background:none;border:1px solid var(--line);padding:8px 12px;border-radius:4px;font-size:11px}.site-header nav{display:none;position:absolute;top:75px;left:0;right:0;padding:24px;background:var(--paper);z-index:10;border-bottom:1px solid var(--line);align-items:start;gap:20px;box-shadow:0 10px 20px #0001}.site-header nav.open{display:flex;flex-direction:column}.hero{padding-top:24px}.hero-location{display:none}.hero-grid{grid-template-columns:1fr;padding:40px 0 25px;gap:20px}h1{font-size:clamp(60px,11vw,84px);letter-spacing:-3px}.hero-description{font-size:15px;max-width:500px}.hero-aside{padding-top:15px;max-width:530px;width:100%;margin:auto}.hero-art{height:350px}.art-note{width:240px}.note-one{left:9%;top:35px}.note-two{right:7%;top:175px}.art-stamp{right:7%;top:26px}.hero-foot{flex-direction:column;gap:16px}.hero-foot div{gap:24px}.work-section{padding-block:60px}.section-heading{display:block;margin-bottom:24px}.section-heading h2{font-size:42px;margin-bottom:20px}.section-heading p:not(.eyebrow){font-size:12px}.filter-bar{gap:8px}.filters{gap:1px}.filter{padding:8px 10px;font-size:10px}.small-mono{font-size:8px}.project-grid{grid-template-columns:1fr;gap:40px}.project-cover{height:340px}.project-meta{flex-direction:row}.project-body h3{font-size:25px}.workspace-illustration{height:235px;max-width:480px}.mini-sidebar{width:90px}.mini-workspace{padding:16px}.mini-note{padding:12px}.app-frame iframe{transform:scale(.61)}.queue-art{margin:22px auto;max-width:390px;padding-inline:16px}.terminal-preview{max-width:440px;margin-inline:auto}.terminal-preview code{font-size:10px}.approach-section{padding:0 0 60px}.approach-grid{grid-template-columns:1fr;gap:30px}.approach-grid h3{margin:10px 0 6px}.approach-grid p{max-width:450px}.contact-section{padding:50px 0}.contact-grid{grid-template-columns:1fr;gap:25px}.contact-section h2{font-size:56px}.contact-actions{justify-self:start;width:100%}.contact-email{font-size:17px}.contact-socials{gap:25px}.site-footer{flex-wrap:wrap;font-size:8px}.site-footer span:nth-child(2){order:3;width:100%}.dialog-header{padding:14px}.dialog-header p{max-width:230px}#demo-frame{height:72vh}}
@media(max-width:440px){.project-cover{height:295px}.cover-top{font-size:7px;padding:16px}.workspace-illustration{width:calc(100% - 28px);height:208px;margin-top:8px}.mini-sidebar{width:65px;font-size:8px;padding:12px 7px}.mini-workspace{gap:6px;padding:10px}.mini-note{padding:7px}.mini-note strong{font-size:9px}.mini-note p{font-size:8px}.mini-note .tiny-label{font-size:6px}.mini-search{font-size:6px}.terminal-preview{margin-inline:15px}.terminal-preview code{font-size:8px}.queue-art{margin:15px 18px;padding:0}.worker-row>div{padding:12px 8px}.hero-art{height:320px}.art-note{width:210px}.note-one{left:16px;top:30px}.note-two{right:16px;top:172px}.art-stamp{right:16px;top:22px}.hero-actions{gap:20px;flex-wrap:wrap}.button{padding:14px 17px;font-size:11px}.project-meta{font-size:7px}.app-frame iframe{transform:scale(.4)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Pageweft uses the same visual vocabulary as the existing case studies. */
.document-sample{padding:20px 24px}.sample-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.sample-pages{display:flex;gap:6px;flex-wrap:wrap}.document-sample button{border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);padding:10px 12px;font-size:12px;min-height:44px}.document-sample button:disabled{cursor:wait;opacity:.6}.sample-pages button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.sample-status{font-size:12px;color:var(--muted);margin:14px 0;min-height:20px}.sample-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.sample-panel{min-width:0;border:1px solid var(--line);border-radius:6px;padding:16px;background:#fffdf8}.sample-panel h3{font-size:15px;margin:0 0 5px}.sample-panel>p{font-size:11px;color:var(--muted);margin:0 0 16px}.sample-source-scroll{overflow:auto;border:1px solid var(--line);background:white;scrollbar-gutter:stable}.sample-source-scroll:focus-visible{outline:2px solid var(--green);outline-offset:3px}.sample-source-scroll img{display:block;width:540px;min-width:540px;max-width:none;height:auto}.sample-panel>a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:3px}.sample-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 var(--mono);margin:0;background:#27392e;color:#e5eedc;padding:16px;border-radius:4px;min-height:210px}.sample-downloads{display:flex;flex-wrap:wrap;align-items:center;gap:4px 22px;margin-top:14px;font-size:12px}.sample-downloads a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px}.sample-downloads span{flex-basis:100%;font-size:11px;color:var(--muted)}
@media(max-width:760px){.document-sample{padding:16px 14px}.sample-comparison{grid-template-columns:minmax(0,1fr)}.sample-panel{padding:12px}.sample-toolbar{align-items:flex-start}.sample-pages button{font-size:11px;padding:10px}.sample-panel pre{min-height:0}.dialog-header{align-items:flex-start}.dialog-close{min-width:44px;min-height:44px}}
.document-cover{background:#dce5e2}.document-art{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 22px 0;height:238px}.document-page{background:#fbfaf4;border:1px solid #c9d3cd;border-radius:4px;width:40%;height:218px;padding:19px 15px;box-shadow:0 12px 20px #23382a10}.document-label{font:7px var(--mono);letter-spacing:1px;color:#536658}.document-page h4{font:22px/1.2 var(--serif);margin:15px 0}.document-lines{height:29px;background:repeating-linear-gradient(to bottom,#c9d0c5 0 2px,transparent 2px 8px);opacity:.7}.document-lines.short{width:70%;height:16px}.document-chart{height:48px;display:flex;gap:8px;align-items:end;margin:10px 0}.document-chart i{width:23%;background:#9cb088;height:60%;border-radius:2px 2px 0 0}.document-chart i:nth-child(2){height:95%;background:#627f59}.document-chart i:nth-child(3){height:76%}.document-arrow{font:23px var(--serif);color:#55775e}.document-output{width:48%;background:#27392e;color:#d8e3cc;border-radius:5px;padding:19px 15px;height:218px}.document-output .document-label{color:#a4bba3}.document-output code{display:block;font:9px/1.8 var(--mono);margin-top:15px;overflow-wrap:anywhere}.document-output code b{font-weight:400;color:#e5f2b7}.document-output code span{color:#97b29b;font-size:7px}.document-export{font:7px var(--mono);display:block;margin-top:13px;color:#b8cc9a}
@media(max-width:760px){.filter-bar{align-items:flex-start;flex-wrap:wrap}.project-count{white-space:normal}.filter,.project-link,.contact-socials a{min-height:44px;display:inline-flex;align-items:center}.contact-socials{flex-wrap:wrap;gap:12px 24px}.project-meta{flex-wrap:wrap}.document-art{margin-inline:16px}.project-body h3{overflow-wrap:break-word}.dialog-header h2{overflow-wrap:break-word}}
@media(max-width:440px){.document-art{gap:7px;height:206px;margin:5px 12px 0}.document-page,.document-output{height:196px;padding:15px 10px}.document-page h4{font-size:19px}.document-output code{font-size:8px}.document-label{font-size:6px}.cover-note{font-size:7px;max-width:90%;text-align:right}.hero-foot div{flex-wrap:wrap}.contact-email{overflow-wrap:anywhere}}
/* Fieldnotes is a companion library, keeping the existing case-study layout. */
.docs-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-bottom:85px}.docs-section h2{font-size:48px;font-weight:500;letter-spacing:-1.8px;line-height:1.1;margin:0 0 22px}.docs-section>div>p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted);max-width:390px;margin-bottom:24px}.docs-topics{border-top:1px solid var(--line)}.docs-topics a{display:block;font-size:14px;padding:19px 0;border-bottom:1px solid var(--line);min-height:65px}.docs-topics a:hover{text-decoration:underline;text-underline-offset:4px}.docs-topics span{display:block;font:9px var(--mono);letter-spacing:1px;color:var(--muted);margin-bottom:7px}
@media(max-width:760px){.docs-section{grid-template-columns:1fr;gap:28px;padding-bottom:55px}.docs-section h2{font-size:40px}.docs-topics a{font-size:13px}}
