@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:400;src:url(/static/media/dm-sans-latin-400-normal.97def203da337e26d827.woff2) format("woff2")}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:500;src:url(/static/media/dm-sans-latin-500-normal.95be878c7de25e1db4c0.woff2) format("woff2")}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:600;src:url(/static/media/dm-sans-latin-600-normal.734311c3c530f3ad138e.woff2) format("woff2")}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:700;src:url(/static/media/dm-sans-latin-700-normal.7747fc5114170ad2f6c7.woff2) format("woff2")}@font-face{font-display:swap;font-family:"DM Serif Display";font-style:normal;font-weight:400;src:url(/static/media/dm-serif-display-latin-400-normal.afe4d789caf92d680b6e.woff2) format("woff2")}@font-face{font-display:swap;font-family:"DM Serif Display";font-style:italic;font-weight:400;src:url(/static/media/dm-serif-display-latin-400-italic.1558a94ef3afe4280680.woff2) format("woff2")}:root{--paper:#f7f7f2;--white:#fff;--ink:#242a35;--muted:#62676d;--line:#dcdfd7;--violet:#574e97;--sage:#e8ecdf;--serif:"DM Serif Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#f7f7f2;background:var(--paper);color:#242a35;color:var(--ink);font-family:DM Sans,Arial,sans-serif;font-family:var(--sans);font-size:16px;line-height:1.65;margin:0}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2{font-family:"DM Serif Display",Georgia,serif;font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.07}h1{font-size:clamp(3rem,5.4vw,5rem)}h2{font-size:clamp(2.4rem,4vw,3.5rem)}h3{font-weight:550;line-height:1.25}em{color:#574e97;color:var(--violet);font-weight:400}::selection{background:#e3dcf3}:focus-visible{outline:3px solid #7165c1;outline-offset:5px}main:focus{outline:none}section[id]{scroll-margin-top:100px}.shell{margin:auto;max-width:1260px;padding-left:48px;padding-right:48px}.section-pad{padding-bottom:112px;padding-top:112px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.15em;line-height:1.5}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.skip-link{background:#242a35;background:var(--ink);color:#fff;left:20px;padding:10px 20px;position:fixed;top:10px;transform:translateY(-150%);z-index:100}.skip-link:focus{transform:translateY(0)}.button{align-items:center;border:1px solid #0000;border-radius:3px;display:inline-flex;font-size:13px;font-weight:550;gap:30px;justify-content:center;padding:14px 24px;text-decoration:none;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:#242a35;background:var(--ink);color:#fff;color:var(--white)}.primary:hover{background:#444c60}.secondary{background:#0000;border-color:#dcdfd7;border-color:var(--line)}.text-link{align-items:center;display:inline-flex;font-size:13px;font-weight:550;gap:12px;text-decoration:none}.text-link:hover{color:#574e97;color:var(--violet)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;scroll-behavior:auto!important;transition:none!important}}@media (max-width:700px){.shell{padding-left:24px;padding-right:24px}.section-pad{padding-bottom:72px;padding-top:72px}.eyebrow{font-size:9px}section[id]{scroll-margin-top:110px}}.site-header{background:#f7f7f2f7;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.nav-shell{gap:24px;height:96px;justify-content:space-between}.nav-shell,.wordmark{align-items:center;display:flex}.wordmark{font-size:13px;font-weight:550;gap:15px;line-height:1.4;text-decoration:none}.monogram{font-family:var(--serif);font-size:34px;letter-spacing:-3px}.monogram>span{color:var(--violet)}.wordmark-role{color:var(--muted);display:block;font-size:8px;letter-spacing:.14em;margin-top:3px}.site-header nav{align-items:center;display:flex;gap:30px}.site-header nav a{font-size:12px;text-decoration:none}.site-header nav a:hover{color:var(--violet)}.nav-contact{border:1px solid #b6b9b1;border-radius:3px;padding:8px 15px}.nav-contact span{margin-left:20px}.hero{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1.35fr 1fr;padding-bottom:75px;padding-top:82px}.hero .eyebrow{align-items:center;display:flex;gap:8px;margin-bottom:25px}.availability-dot{background:#748261;border-radius:50%;display:inline-block;height:6px;width:6px}.hero h1{white-space:nowrap}.hero-description{color:var(--muted);font-size:16px;line-height:1.8;margin:25px 0 30px;max-width:470px}.hero-actions{gap:28px}.hero-actions,.hero-context{align-items:center;display:flex;flex-wrap:wrap}.hero-context{color:var(--muted);font-size:9px;gap:5px 9px;margin-top:45px}.hero-context strong{color:var(--ink);font-weight:500}.context-divider{background:#c3c8be;height:10px;margin:0 3px;width:1px}.stack-strip{border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.stack-strip .shell{align-items:center;display:flex;gap:40px;padding-bottom:21px;padding-top:21px}.stack-strip span{color:var(--muted);font-size:8px;letter-spacing:.12em}.stack-strip p{font-size:13px;word-spacing:2px}.stack-strip i{color:#b8bdb2;font-style:normal;margin:0 12px}.section-heading{align-items:flex-end;display:flex;gap:60px;justify-content:space-between;margin-bottom:46px}.section-heading .eyebrow{color:var(--muted);margin-bottom:19px}.section-heading>p{color:var(--muted);font-size:13px;max-width:315px;padding-bottom:3px}.featured-grid{grid-gap:35px 30px;display:grid;gap:35px 30px;grid-template-columns:1fr 1fr}.featured-card{background:var(--white);border:1px solid #e0e2d9;border-radius:4px;overflow:hidden;transition:box-shadow .2s}.featured-card:hover{box-shadow:0 10px 25px #232c3210}.visual-link{display:block;text-decoration:none}.project-visual{background:#ede9df;height:290px;overflow:hidden;padding:20px 26px;position:relative}.visual-topline{display:flex;font-size:8px;justify-content:space-between;letter-spacing:.12em;position:relative;text-transform:uppercase;z-index:1}.visual-topline>span:last-child{font-size:16px;line-height:1}.visual-caption{bottom:15px;font-size:7px;letter-spacing:.12em;opacity:.7;position:absolute;right:22px;text-transform:uppercase}.visual-quest{background:#e7e4f1;color:#51456e}.quest-scene{margin:22px auto 0;max-width:350px;position:relative}.quest-moon{color:#b9aecf;font-size:125px;line-height:1;position:absolute;right:12px;top:7px;transform:rotate(-15deg)}.quest-path{align-items:center;display:flex;font-size:8px;gap:10px;letter-spacing:.09em;position:relative;z-index:1}.quest-path i{background:#bcb2cd;height:1px;width:28px}.quest-path span{background:#f4f1f9;border:1px solid #b8afcb;border-radius:30px;padding:6px 9px}.quest-note{background:#ffffff9c;border:1px solid #d1c9e1;border-radius:3px;display:inline-flex;flex-direction:column;margin-top:20px;padding:18px 25px;position:relative;transform:rotate(-3deg)}.quest-note>span{font-size:7px;letter-spacing:.1em;margin-bottom:10px}.quest-note strong{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-.02em;line-height:1.15}.visual-edit{background:#e6e9dd;color:#344435}.edit-scene{margin:24px auto 0;max-width:355px}.edit-kicker{font-size:8px;letter-spacing:.23em}.edit-scene>strong{display:block;font-family:var(--serif);font-size:36px;font-weight:400;letter-spacing:-.025em;line-height:1.12;margin-top:13px}.edit-scene em{color:#6b775c}.edit-shelves{display:flex;gap:6px;margin-top:20px}.edit-shelves span{border-bottom:1px solid #a8b19b;border-top:1px solid #a8b19b;font-size:8px;letter-spacing:.1em;padding:5px 17px}.visual-world{background:#ede9df;color:#3e493f}.world-scene{margin:17px auto;max-width:355px}.world-scene>strong{font-family:var(--serif);font-size:42px;font-weight:400;letter-spacing:-.035em;line-height:.98}.world-scene em{color:#5c796e}.reading-modes{display:flex;flex-wrap:wrap;gap:5px;margin-top:20px}.reading-modes span{border:1px solid #b4bdb1;border-radius:3px;font-size:8px;padding:4px 10px}.reading-modes span:nth-child(3){background:#576c5d;color:#fff}.world-scene>p{font-size:7px;letter-spacing:.12em;margin-top:13px}.visual-lab{background:#26353a;color:#e9ede8}.lab-scene{margin:17px auto;max-width:355px}.lab-scene>span{color:#b8cab7;font-family:monospace;font-size:8px;letter-spacing:.1em}.lab-branches{align-items:center;display:flex;flex-direction:column;font-family:monospace;font-size:10px;gap:9px;margin-top:13px}.lab-branches>span{border:1px solid #62766e;padding:5px 18px}.lab-branches>div{border-top:1px solid #62766e;display:flex;gap:8px;padding-top:8px}.lab-branches b{background:#ffffff0d;border:1px solid #62766e;font-size:8px;font-weight:400;padding:6px 13px}.lab-scene>p{color:#b6c9bd;font-size:8px;margin-top:13px;text-align:center}.featured-card-body{padding:24px 27px 26px}.card-meta{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:16px}.card-meta>span:first-child{color:var(--muted);font-size:8px}.status{background:#eff1e9;border:1px solid #e0e5d6;border-radius:3px;color:#526145;display:inline-block;font-size:8px;font-weight:500;padding:3px 7px;white-space:nowrap}.featured-card h3{font-size:24px;letter-spacing:-.035em}.featured-card h3 a{align-items:center;display:flex;gap:10px;justify-content:space-between;text-decoration:none}.featured-card h3 a:hover{color:var(--violet)}.featured-card h3 span{font-size:20px;font-weight:400}.featured-card-body>p{color:var(--muted);font-size:12px;margin-top:10px;max-width:390px;min-height:40px}.tech-tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:18px 0 0;padding:0}.tech-tags li{background:#f5f5f1;border:1px solid #e7e8e0;border-radius:3px;font-size:8px;padding:3px 8px}.case-link{align-items:center;border-top:1px solid #eceee7;display:flex;font-size:11px;font-weight:550;justify-content:space-between;margin-top:23px;padding-top:17px;text-decoration:none}.case-link:hover{color:var(--violet)}.collection-jump{border-bottom:1px solid #aeb3a6;display:flex;margin:38px auto 0;padding-bottom:5px;width:-webkit-max-content;width:max-content}.approach{background:#eeefe8;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.approach-grid{grid-gap:80px;display:grid;gap:80px;grid-template-columns:1fr 1fr}.principles article{border-top:1px solid #cdd2c5;padding:22px 0}.principles article>span{color:var(--muted);font-size:8px;letter-spacing:.1em}.principles h3{font-size:20px;letter-spacing:-.02em;margin:7px 0 9px}.principles p{color:var(--muted);font-size:12px;max-width:410px}.principles a{border-bottom:1px solid #c3c9b9;display:inline-block;font-size:10px;margin-top:10px;text-decoration:none}.engineering-demo{align-self:start;background:var(--paper);border:1px solid #d7dccf;border-radius:4px;padding:30px}.demo-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.demo-label{color:var(--muted);font-size:8px}.engineering-demo h3{font-family:var(--serif);font-size:31px;font-weight:400;letter-spacing:-.03em;margin:24px 0 10px}.engineering-demo>p{color:var(--muted);font-size:11px}.switch-label{align-items:center;cursor:pointer;display:flex;font-size:11px;gap:10px;margin:23px 0}.switch-label input{height:23px;opacity:0;position:absolute;width:40px}.switch-track{background:#959b90;border-radius:12px;height:20px;position:relative;width:34px}.switch-track:after{background:#fff;border-radius:50%;content:"";height:14px;left:3px;position:absolute;top:3px;transition:transform .15s;width:14px}.switch-label input:checked+.switch-track{background:var(--violet)}.switch-label input:checked+.switch-track:after{transform:translateX(14px)}.switch-label input:focus-visible+.switch-track{outline:3px solid #7165c1;outline-offset:4px}.demo-record{align-items:center;border-top:1px solid #dce0d5;display:flex;font-size:9px;gap:12px;justify-content:space-between;padding:15px 0}.demo-record strong{display:block;font-size:11px;font-weight:550}.demo-record>div>span{color:var(--muted);display:block;font-size:8px;margin-top:3px}.record-result{color:var(--muted);font-size:8px;text-align:right}.record-visible .record-result{color:#46633f}.engineering-demo .demo-output{background:#e7ebde;border-radius:2px;color:#3d5034;font-size:10px;margin-top:8px;padding:10px 13px}.engineering-demo .demo-footnote{font-size:8px;line-height:1.6;margin-top:14px}.collection{border-bottom:1px solid var(--line)}.collection-tools{align-items:center;display:flex;gap:25px;justify-content:space-between}.filters{display:flex;flex-wrap:wrap;gap:6px}.filters button{background:#0000;border:1px solid #d8ddd1;border-radius:3px;color:#555b5a;font-size:10px;padding:7px 12px}.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.filters button:hover{border-color:var(--ink)}.search-wrap input{background:#0000;border:1px solid #d8ddd1;border-radius:3px;font-size:10px;padding:9px 12px;width:225px}.result-count{color:var(--muted);font-size:9px;margin-bottom:12px;margin-top:22px}.project-row{grid-gap:20px;border-top:1px solid var(--line);display:grid;gap:20px;grid-template-columns:45px 1fr 220px;padding:28px 0}.row-number{color:#858b80;font-family:monospace;font-size:9px;padding-top:5px}.row-area{color:var(--muted);font-size:8px;letter-spacing:.07em}.row-copy h3{font-size:21px;letter-spacing:-.03em;margin:7px 0}.row-copy h3 a{text-decoration:none}.row-copy h3 a:hover{color:var(--violet)}.row-copy h3 span{font-size:15px;margin-left:8px}.row-copy p{color:var(--muted);font-size:11px;max-width:550px}.row-meta{align-self:center;text-align:right}.row-meta p{color:var(--muted);font-size:8px;margin-top:10px}.empty-state{background:#eeefe7;border-radius:4px;padding:48px 24px;text-align:center}.empty-state p{font-size:13px;margin:12px 0 20px}.about-section{background:#f0eee8}.about-grid{grid-gap:80px;display:grid;gap:80px;grid-template-columns:1fr 1.15fr}.about-grid .eyebrow{margin-bottom:25px}.about-mark{color:#d0cbbf;display:block;font-family:var(--serif);font-size:125px;letter-spacing:-10px;line-height:1;margin-top:50px}.about-copy>p{color:var(--muted);font-size:13px;margin-bottom:20px}.about-copy .lead{color:var(--ink);font-size:19px;letter-spacing:-.02em;line-height:1.6}.experience{margin:32px 0}.experience article{border-top:1px solid #d6d2c7;padding:18px 0}.experience article>div{align-items:center;display:flex;gap:10px;justify-content:space-between}.experience h3{font-size:16px}.experience article>div>span{color:var(--muted);font-size:8px}.experience article>p{font-size:11px;margin-top:6px}.experience small{color:var(--muted);display:block;font-size:10px;margin-top:6px;max-width:390px}.about-copy .development-note{border-left:2px solid #c6bfcf;font-size:10px;margin-bottom:0;padding-left:14px}.contact-section{background:#e7eadd;border-top:1px solid #d9ddcf;padding:90px 0;text-align:center}.contact-inner .eyebrow{color:#667057;margin-bottom:22px}.contact-inner h2{font-size:clamp(2.3rem,4.5vw,4rem)}.contact-inner h2 em{color:#5a6b50}.contact-inner .button{margin:28px 0 14px}.contact-email{color:#4b5644;display:block;font-size:11px;margin:auto;max-width:100%;text-decoration:none;width:-webkit-max-content;width:max-content}.site-footer{border-top:1px solid #d9ddcf}.footer-inner{align-items:center;color:var(--muted);font-size:9px;justify-content:space-between;padding-bottom:25px;padding-top:25px}.footer-inner,.footer-inner div{display:flex;gap:20px}.footer-inner a{text-decoration:none}.case-study{padding-top:42px}.back-link{color:var(--muted);font-size:11px;text-decoration:none}.case-header{max-width:900px;padding:70px 0 55px}.case-header .eyebrow{margin-bottom:18px}.case-header h1{font-size:clamp(2.7rem,6vw,5.7rem)}.case-summary{color:var(--muted);font-size:19px;line-height:1.65;margin-top:25px;max-width:650px}.case-actions{align-items:center;display:flex;flex-wrap:wrap;gap:22px;margin-top:26px}.case-actions .status,.source-note{font-size:10px}.source-note{color:var(--muted)}.case-study>.shell>.project-visual{border-radius:4px;height:440px;padding:30px 38px}.case-study>.shell>.project-visual .edit-scene,.case-study>.shell>.project-visual .lab-scene,.case-study>.shell>.project-visual .quest-scene,.case-study>.shell>.project-visual .world-scene{margin-top:40px;transform:scale(1.4);transform-origin:top center}.case-layout{grid-gap:90px;display:grid;gap:90px;grid-template-columns:240px 1fr;padding:80px 0}.case-sidebar>div{margin-bottom:28px}.case-sidebar .eyebrow{color:var(--muted);margin-bottom:10px}.case-sidebar p:not(.eyebrow){font-size:12px}.case-sidebar .tech-tags{margin-top:0}.case-sidebar nav{border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;padding-top:22px}.case-sidebar nav a{font-size:11px;text-decoration:none}.case-content{max-width:700px}.case-content section{margin-bottom:65px}.case-content section:last-child{margin-bottom:0}.case-content .eyebrow{color:var(--muted);margin-bottom:18px}.case-content h2{font-size:36px;line-height:1.1;margin-bottom:22px}.case-content p{color:var(--muted);font-size:14px;line-height:1.9}.system-flow{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);list-style:none;margin:28px 0 0;padding:0}.system-flow li{background:#e8ecdf;border:1px solid #d6ddc9;border-radius:3px;font-size:10px;line-height:1.5;padding:13px 10px}.system-flow li span{color:#667456;display:block;font-size:8px;margin-bottom:7px}.decisions>div{border-top:1px solid var(--line);margin-top:22px;padding:22px 0 4px}.decisions h3{font-size:20px;margin-bottom:12px}.case-note{background:#eef0e8;border-left:2px solid #a5b297;margin-top:25px;padding:15px 20px}.case-note p,.case-note strong{font-size:12px}.case-note p{margin-top:7px}.next-project{border-top:1px solid var(--line);padding:45px 0 60px}.next-project>a{display:flex;font-family:var(--serif);font-size:36px;gap:20px;justify-content:space-between;line-height:1.2;margin-top:15px;text-decoration:none}.generic-scene{border:1px solid #b2b7a480;margin:35px auto;max-width:650px;padding:30px;position:relative}.generic-scene>span{font-family:monospace;font-size:10px;letter-spacing:.1em}.generic-scene>strong{display:block;font-family:var(--serif);font-size:42px;font-weight:400;letter-spacing:-.03em;line-height:1.1;margin:20px 0}.generic-scene>div{display:flex;flex-wrap:wrap;gap:12px}.generic-scene b{font-size:10px;font-weight:400}.visual-automation,.visual-brain,.visual-iron{background:#26353a;color:#e9ede8}.visual-journal,.visual-keeper,.visual-publishing{background:#e7e4f1;color:#51456e}.visual-garden,.visual-haven,.visual-ritual{background:#e6e9dd;color:#344435}.visual-civic,.visual-harmony,.visual-justice{background:#efe1d3;color:#624838}.not-found{padding-bottom:110px;padding-top:90px}.not-found h1{font-size:45px;margin:20px 0}.not-found p{margin-bottom:30px}@media (min-width:1500px){.hero{padding-bottom:90px;padding-top:100px}}@media (max-width:1050px){.hero{gap:35px}.hero h1{font-size:5.5vw}.hero-description{font-size:14px}.hero-context{font-size:8px;max-width:300px}.context-divider{display:none}.hero-context strong:last-child{flex-basis:100%;padding-left:44px}.card-meta{flex-wrap:wrap}.approach-grid{gap:35px}.collection-tools{align-items:stretch;flex-direction:column;gap:15px}.search-wrap input{width:100%}.case-layout{gap:45px;grid-template-columns:200px 1fr}.project-row{grid-template-columns:30px 1fr 170px}.about-grid{gap:45px}}@media (max-width:700px){.nav-shell{flex-wrap:wrap;gap:14px;height:auto;min-height:83px;padding-bottom:15px;padding-top:15px}.wordmark{font-size:11px;gap:10px}.monogram{font-size:28px}.site-header nav{gap:17px}.site-header nav a{font-size:10px}.site-header nav .nav-contact{border:0;padding:0}.nav-contact span{margin-left:4px}.wordmark-role{font-size:6px}.hero{gap:35px;grid-template-columns:1fr;padding-bottom:45px;padding-top:55px}.hero h1{font-size:clamp(2.9rem,8.4vw,4.2rem);white-space:normal}.hero .eyebrow{font-size:8px}.hero-description{font-size:14px;max-width:480px}.hero-context{font-size:9px;margin-top:29px;max-width:none}.hero-context strong:last-child{flex-basis:auto;padding-left:0}.stack-strip .shell{align-items:flex-start;flex-direction:column;gap:12px;padding-bottom:18px;padding-top:18px}.stack-strip p{font-size:11px;line-height:1.8}.stack-strip i{margin:0 5px}.section-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:30px}.section-heading>p{font-size:12px;max-width:450px}.featured-grid{gap:25px;grid-template-columns:1fr}.project-visual{height:275px;padding:20px}.featured-card-body{padding:24px}.card-meta{flex-wrap:nowrap}.card-meta>span:first-child,.status{font-size:7px}.featured-card h3{font-size:25px}.featured-card-body>p{font-size:13px;min-height:0}.tech-tags li{font-size:9px}.case-link{font-size:12px}.approach-grid{gap:25px;grid-template-columns:1fr}.principles article{padding:20px 0}.principles p{font-size:13px}.principles a{font-size:11px}.engineering-demo{padding:24px}.demo-record strong,.engineering-demo>p{font-size:12px}.demo-record>div>span,.record-result{font-size:9px}.filters{gap:7px}.filters button{font-size:10px;padding:8px 10px}.search-wrap input{font-size:12px}.project-row{gap:10px;grid-template-columns:25px 1fr;padding:24px 0}.row-copy h3{font-size:22px}.row-copy p{font-size:12px}.row-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px;grid-column:2;text-align:left}.row-meta p{font-size:9px;margin:0}.row-area{font-size:8px}.about-grid{gap:30px;grid-template-columns:1fr}.about-mark{display:none}.about-copy .lead{font-size:18px}.about-copy>p{font-size:13px}.contact-section{padding:70px 0}.footer-inner{flex-wrap:wrap;font-size:9px;gap:14px;justify-content:center;text-align:center}.footer-inner>span:nth-child(2){flex-basis:100%;order:3}.case-study{padding-top:30px}.case-header{padding-bottom:35px;padding-top:40px}.case-summary{font-size:16px}.case-actions{gap:15px}.case-study>.shell>.project-visual{height:310px;padding:20px}.case-study>.shell>.project-visual .edit-scene,.case-study>.shell>.project-visual .lab-scene,.case-study>.shell>.project-visual .quest-scene,.case-study>.shell>.project-visual .world-scene{margin-top:35px;transform:none}.case-layout{gap:35px;grid-template-columns:1fr;padding:45px 0}.case-sidebar{grid-gap:20px;border-bottom:1px solid var(--line);display:grid;gap:20px;grid-template-columns:1fr 1fr}.case-sidebar nav{display:none}.case-content h2{font-size:31px}.case-content p{font-size:14px}.system-flow{grid-template-columns:1fr 1fr}.case-content section{margin-bottom:45px}.next-project>a{font-size:30px}.generic-scene{margin:28px 0;padding:22px}.generic-scene>strong{font-size:33px}.project-visual .visual-caption{font-size:7px}.case-content section[id]{scroll-margin-top:130px}}@media (max-width:400px){.nav-shell{gap:10px}.wordmark{gap:8px}.wordmark>span:last-child{font-size:10px}.site-header nav{gap:12px}.site-header nav .nav-contact{display:none}.hero h1{font-size:2.9rem}.hero .eyebrow{font-size:7px}.featured-card-body{padding:20px}.card-meta{flex-wrap:wrap}.reading-modes span{font-size:7px;padding:4px 7px}.quest-path{font-size:7px;gap:6px}.quest-path i{width:15px}.quest-path span{padding:5px 7px}.lab-branches b{padding:6px 9px}.case-sidebar{grid-template-columns:1fr}.demo-record{gap:8px}.record-result{max-width:105px}}@media print{.back-link,.case-actions,.case-sidebar nav,.next-project,.site-footer,.site-header,.skip-link{display:none}.shell{max-width:none;padding:0}.case-header,.case-study{padding-top:0}.case-layout{gap:30px;grid-template-columns:180px 1fr;padding-top:30px}.case-content section{break-inside:avoid;page-break-inside:avoid}.case-study>.shell>.project-visual{height:250px}.case-study>.shell>.project-visual .edit-scene,.case-study>.shell>.project-visual .lab-scene,.case-study>.shell>.project-visual .quest-scene,.case-study>.shell>.project-visual .world-scene{margin-top:15px;transform:none}body{background:#fff}}.switch-label{position:relative}.switch-label input{cursor:pointer;height:20px;left:0;margin:0;top:50%;transform:translateY(-50%);width:34px;z-index:1}.switch-track{flex-shrink:0;pointer-events:none}.featured-card-body>p{font-size:14px}.card-meta>span:first-child,.status,.tech-tags li{font-size:10px}.case-link{font-size:12px}.row-copy p{font-size:13px}.row-area,.row-meta p{font-size:10px}.filters button,.result-count{font-size:11px}.search-wrap input{font-size:12px}.footer-inner{font-size:11px}@media (max-width:700px){.card-meta{flex-wrap:wrap}.featured-card-body>p{font-size:14px}.row-meta{gap:8px}.status{font-size:9px}}.screenshot-card{background:#e8eadf;padding:18px 18px 0}.screenshot-card img{border:1px solid #d2d7c7;border-radius:3px 3px 0 0;display:block;height:100%;object-fit:cover;object-position:top;width:100%}.screenshot-card-label{background:#f7f7f2;border:1px solid #d5d9cc;border-radius:3px;bottom:12px;color:#454d3d;font-size:9px;padding:4px 8px;position:absolute;right:12px}.project-gallery{margin-bottom:8px}.gallery-heading{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:15px}.gallery-heading>span{color:var(--muted);font-size:10px}.gallery-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.gallery-controls button{align-items:center;background:#0000;border:1px solid #cdd3c3;border-radius:3px;color:var(--ink);display:inline-flex;font-size:12px;gap:9px;padding:9px 14px}.gallery-controls button>span{font-size:9px;opacity:.7}.gallery-controls button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.gallery-controls button:hover{border-color:var(--ink)}.project-gallery figure{margin:0}.screenshot-stage{background:#e9ebe2;border:1px solid #d7dccf;border-radius:4px;overflow:hidden;padding:16px}.screenshot-stage>a{display:block}.screenshot-stage img{display:block;height:auto;max-height:760px;object-fit:contain;object-position:top;width:100%}.project-gallery figcaption{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;gap:35px;justify-content:space-between;padding:22px 0}.gallery-caption{max-width:720px}.gallery-caption h2{font-family:var(--sans);font-size:16px;font-weight:550;letter-spacing:-.015em;line-height:1.4}.gallery-caption p{color:var(--muted);font-size:13px;margin-top:8px}.project-gallery figcaption>a{flex-shrink:0;font-size:11px;margin-top:4px}@media (max-width:700px){.screenshot-card{padding:12px 12px 0}.gallery-heading{align-items:flex-start}.gallery-heading>span{font-size:9px}.gallery-controls{gap:7px}.gallery-controls button{font-size:11px;padding:9px 10px}.screenshot-stage{padding:7px}.screenshot-stage img{max-height:none}.project-gallery figcaption{flex-direction:column;gap:10px;padding:18px 0}.gallery-caption h2{font-size:15px}}@media print{.gallery-controls,.project-gallery figcaption>a{display:none}.screenshot-stage img{max-height:450px}}.research-card img{background:var(--paper);object-fit:contain}.gallery-source a{color:var(--violet);font-size:11px}.system-illustration{border:1px solid var(--line);border-radius:4px;margin:0;overflow:hidden}.system-illustration>img{display:block;height:auto;width:100%}.system-illustration figcaption{align-items:baseline;display:flex;flex-wrap:wrap;gap:14px 24px;padding:20px 28px}.system-illustration figcaption p{color:var(--muted);flex:1 1 280px;font-size:13px;margin:0}.system-illustration figcaption .eyebrow{margin:0}.case-next-step{border-left:2px solid var(--sage);margin-top:28px;padding-left:20px}.case-next-step .eyebrow{font-size:9px;margin-bottom:10px}@media (max-width:600px){.system-illustration figcaption{padding:18px}}.tiny-lab{background:#eaece3;border-block:1px solid var(--line)}.lab-workspace{grid-gap:65px;align-items:start;display:grid;gap:65px;grid-template-columns:.9fr 1.1fr}.lab-setup{padding-top:12px}.build-note-margin,.lab-pencil-note{color:#655485;display:block;font:italic 21px/1.4 var(--serif);margin-bottom:21px}.lab-setup h3{font-size:22px;line-height:1.4;margin-bottom:15px}.lab-setup>p{color:var(--muted);font-size:14px}.lab-conditions{list-style:none;margin:28px 0;padding:0}.lab-conditions li{display:flex;gap:17px;margin-top:20px}.lab-conditions li>span{color:#75668a;font:italic 25px var(--serif)}.lab-conditions strong{font-size:13px;font-weight:600}.lab-conditions p{color:var(--muted);font-size:13px;margin-top:4px}.lab-setup .lab-instructions{border-top:1px dashed #bcc2b2;margin-bottom:20px;margin-top:22px;padding-top:20px}.lab-setup-context{margin-top:18px}.lab-progress{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:24px 0;padding:0}.lab-progress li{border-bottom:2px solid var(--line);color:var(--muted);font-size:10px;line-height:1.5;padding-bottom:10px}.lab-progress li>span{border:1px solid #b7bbaa;border-radius:50%;display:block;height:23px;line-height:23px;margin-bottom:8px;text-align:center;width:23px}.lab-progress li[data-done=true]>span{background:#e5e9dc}.lab-progress li[aria-current=step]{border-bottom-color:var(--violet);color:var(--violet);font-weight:600}.lab-progress li[aria-current=step]>span{background:var(--violet);border-color:var(--violet);color:#fff}.lab-round-context>p,.lab-summary-intro{color:var(--muted);font-size:13px;margin-top:16px}.lab-guess-label{display:block;font-size:13px;font-weight:500;margin-top:24px}.lab-round-result{margin-top:24px}.lab-round-result>p+p{color:var(--muted);font-size:13px;margin-top:12px}.lab-recorded-note,.lab-saved-guess{color:var(--muted);font-size:11px}.lab-saved-guess{margin-top:6px}.lab-notebook{background:#fcfbf6;border:1px solid #d8d5c9;border-radius:3px 18px 3px 3px;box-shadow:6px 7px 0 -2px #dfe2d5;min-width:0;padding:30px}.lab-notebook .demo-header{flex-wrap:wrap;gap:8px}.lab-question{display:block;font:27px/1.2 var(--serif);margin-top:24px;max-width:26ch}.lab-prediction-value{align-items:baseline;display:flex;gap:12px;margin-top:20px}.lab-prediction-value output{color:var(--violet);font:52px/1.1 var(--serif)}.lab-prediction-value>span{color:var(--muted);font-size:12px}.lab-notebook input[type=range]{accent-color:var(--violet);cursor:pointer;display:block;margin:18px 0 0;min-height:32px;width:100%}.lab-notebook input:disabled{cursor:default}.lab-range-ends{color:var(--muted);display:flex;font-size:10px;justify-content:space-between}.lab-notebook>button{margin:24px 0 20px;width:100%}.lab-reveal{border-top:1px dashed #c8c4b7;font-size:13px;padding-top:20px}.lab-bars{margin-top:24px}.lab-bar-row{margin-bottom:17px}.lab-bar-row>div:first-child{display:flex;font-size:11px;gap:8px;justify-content:space-between;margin-bottom:7px}.lab-bar-row strong{font-weight:500;white-space:nowrap}.lab-bar-track{background:#e5e7df;border-radius:2px;height:10px;overflow:hidden}.lab-bar-track>span{background:#7a876c;display:block;height:100%}.lab-bar-peers .lab-bar-track>span{background:#78649a}.lab-finding{font-size:13px;margin:22px 0}.lab-details{border-top:1px solid var(--line);font-size:12px;padding:15px 0}.build-note summary,.lab-details summary{cursor:pointer;font-weight:500}.build-note summary>span,.lab-details summary>span{color:var(--violet);float:right;margin-left:10px}.build-note details[open] summary>span,.lab-details[open] summary>span{transform:rotate(45deg)}.lab-details p{color:var(--muted);margin-top:15px}.lab-details a{color:var(--violet);display:inline-block;margin-top:15px}.lab-pairs{margin:15px 0}.lab-pairs>div{border-bottom:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;padding:7px 0}.lab-pairs dd{font-weight:600;margin:0}.lab-scope{color:var(--muted);font-size:11px;margin-bottom:20px}.lab-method{padding-bottom:0}.build-notes-grid{grid-gap:25px;align-items:start;display:grid;gap:25px;grid-template-columns:repeat(3,minmax(0,1fr))}.build-note{background:#eeeee6;border-top:2px solid #b3bba6;padding:20px 22px 23px}.build-note:nth-child(2){background:#f0ece3;border-color:#bfb09b}.build-note:nth-child(3){background:#eeebf0;border-color:#afa4c1}.build-note-meta{align-items:center;display:flex;gap:10px;justify-content:space-between}.build-note-meta .eyebrow{font-size:8px;letter-spacing:.08em}.build-note-meta>span:last-child{color:#7c766d;font-size:23px}.build-note-margin{font-size:17px;margin:20px 0 10px}.build-note h3{font:25px/1.2 var(--serif);margin-bottom:14px}.build-note-body p,.build-note>p{color:var(--muted);font-size:13px}.build-note details{border-top:1px dashed #c3bfb5;margin-top:22px;padding-top:15px}.build-note summary{font-size:12px}.build-note-body p{margin-top:18px}.build-note-body a{color:var(--violet);display:inline-block;font-size:12px;margin-top:20px}@media (max-width:1000px){.lab-workspace{gap:30px}.lab-notebook{padding:24px}.build-notes-grid{gap:15px}.build-note{padding:16px}}@media (max-width:760px){.build-notes-grid,.lab-workspace{grid-template-columns:1fr}.lab-workspace{gap:32px}.build-notes-grid{gap:22px}.build-note{padding:22px}.lab-question{font-size:25px}}@media (max-width:380px){.lab-notebook{padding:19px}.lab-bar-row>div:first-child{flex-direction:column;gap:2px}}.curiosity-notes{--thread-ink:#655485;background:radial-gradient(#8e89771c .65px,#0000 0) 0 0 /8px 8px,#f0eee5;border:1px solid #d9d8cc;border-radius:5px 22px 5px 5px;box-shadow:8px 10px 0 -3px #e8e9df,9px 11px 0 -3px #d5d9cc;justify-self:end;max-width:465px;padding:26px 25px 18px;position:relative;transform:rotate(1deg);width:100%}.curiosity-notes[data-thread=questions]{--thread-ink:#856146}.curiosity-notes[data-thread=making]{--thread-ink:#50654f}.notes-heading{position:relative}.notes-heading .eyebrow{color:#66675d;font-size:8px;letter-spacing:.14em;margin-bottom:6px}.notes-heading h2{color:var(--thread-ink);font-family:var(--serif);font-size:37px;font-style:italic;font-weight:400;letter-spacing:-.035em;line-height:1.1;margin:0}.notes-margin{color:#8b7c9e;font-family:var(--serif);font-size:32px;position:absolute;right:9px;top:2px;transform:rotate(-16deg)}.notes-desk{height:283px;margin-top:7px;position:relative}.notes-moth{height:auto;left:3%;position:absolute;top:-8px;transform:rotate(8deg);width:94%}.thread-note{background:#fcfbf5;border:1px solid #d9d6cb;border-radius:2px;box-shadow:0 5px 12px #3d3a2d0b;color:var(--ink);cursor:pointer;min-height:72px;padding:11px 14px;position:absolute;text-align:left;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;width:166px;z-index:1}.thread-note:hover{box-shadow:0 7px 15px #3d3a2d17}.thread-note[data-active=true]{border-color:var(--thread-ink);box-shadow:0 4px 12px #65548512}.thread-note:focus-visible{outline:2px solid var(--violet);outline-offset:5px}.thread-label{color:#777365;display:block;font-size:7px;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.thread-question{display:block;font-family:var(--serif);font-size:16px;font-weight:400;line-height:1.2}.thread-arrow{color:var(--thread-ink);font-size:12px;line-height:1;position:absolute;right:10px;top:8px}.thread-learning{left:-8px;top:19px;transform:rotate(-6deg)}.thread-questions{right:-9px;top:113px;transform:rotate(5deg)}.thread-making{left:13px;top:203px;transform:rotate(-3deg)}.thread-learning:hover{transform:rotate(-3deg) translateY(-2px)}.thread-questions:hover{transform:rotate(2deg) translateY(-2px)}.thread-making:hover{transform:rotate(-1deg) translateY(-2px)}.notes-aside{bottom:4px;color:#7b796c;font-family:var(--serif);font-size:13px;font-style:italic;line-height:1.3;position:absolute;right:1px;transform:rotate(5deg);width:98px}.thread-detail{border-top:1px dashed #c8c4b7;margin-top:20px;min-height:95px;padding-top:13px}.thread-detail>p{color:#66675f;font-size:11px;line-height:1.65;margin:0 0 7px;max-width:34ch}.thread-detail>a{color:var(--thread-ink);font-size:12px;text-underline-offset:4px}.thread-detail>a span{display:inline-block;margin-left:7px}.notes-invitation{color:#777469;display:block;font-size:8px;margin-top:5px;text-align:right}@media (min-width:701px) and (max-width:1050px){.curiosity-notes{padding:22px 18px 16px}.thread-note{padding-left:12px;padding-right:12px;width:148px}.thread-question{font-size:16px}.notes-aside{font-size:11px;width:65px}}@media (max-width:700px){.curiosity-notes{justify-self:center;max-width:435px;padding:24px 24px 18px}}@media (max-width:380px){.curiosity-notes{padding:20px 19px 16px}.thread-note{min-height:72px;padding:10px 12px;width:145px}.thread-question{font-size:16px}.notes-aside{font-size:11px;right:-2px;width:66px}}@media (prefers-reduced-motion:reduce){.thread-note{transition:none}}.experience .experience-highlight{color:var(--violet);display:block;margin-top:8px}.contact-links{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:center;margin-top:27px}.contact-links a{color:inherit;font-size:12px;text-underline-offset:5px}@media (max-width:700px){.notes-moth{left:2%;top:0;transform:rotate(5deg);width:96%}.notes-aside{display:none}}
/*# sourceMappingURL=main.bd4afb61.css.map*/