@font-face{font-family:PySans;src:url('/fonts/NimbusSans-Regular.otf') format('opentype');font-weight:400;font-display:swap}@font-face{font-family:PySans;src:url('/fonts/NimbusSans-Bold.otf') format('opentype');font-weight:700;font-display:swap}
:root{--paper:#f4f3ee;--ink:#202b25;--green:#173e35;--muted:#697067;--line:#d9ddd2;--lime:#dce8bb;--coral:#d96d4e;--white:#fff;--mono:'Courier New',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:PySans,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--coral);outline-offset:6px}button:disabled{cursor:wait}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.site-header{position:relative;z-index:20}.nav-wrap{height:106px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;font-size:29px;font-weight:700;letter-spacing:-1.4px}.brand-symbol{width:33px;height:34px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:27px;font-weight:400;background:var(--green);color:var(--lime);margin-right:10px;border-radius:8px;letter-spacing:-6px;padding-right:6px}.brand-symbol i{font-style:normal;color:#e98b6d}.brand-period{color:var(--coral)}.nav-name{font-size:12px;font-weight:700;margin-left:34px;padding-left:30px;border-left:1px solid var(--line);line-height:1.6}.nav-name span{display:block;font-size:11px;color:var(--muted);font-weight:400}nav{display:flex;align-items:center;gap:29px;margin-left:auto;font-size:13px}nav>a{position:relative}nav>a:not(.nav-contact):after{content:'';position:absolute;height:1px;background:var(--green);left:0;right:100%;bottom:-6px;transition:right .2s}nav>a:hover:after{right:0}.nav-contact{padding:12px 17px;border:1px solid #aeb8aa;border-radius:5px;margin-left:5px}.nav-contact span{padding-left:16px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:28px;min-height:674px;align-items:center;padding-top:61px;padding-bottom:57px}.eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:700;letter-spacing:1.3px;color:var(--green)}.status-dot{width:6px;height:6px;display:inline-block;background:#789c61;border-radius:50%;box-shadow:0 0 0 4px #789c6115}.hero h1{font-size:clamp(48px,5.25vw,76px);font-weight:400;line-height:1.015;letter-spacing:-3.8px;margin:25px 0 23px}.hero h1 em,h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--green);letter-spacing:-2.5px}.hero-intro{font-size:16px;line-height:1.65;max-width:414px;color:#636a61;margin:0}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:33px;border-radius:5px;padding:15px 21px;font-size:13px;border:1px solid transparent;font-weight:700;transition:transform .2s,background .2s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.primary{background:var(--green);color:#fff}.primary:hover{background:#265747}.button span{font-size:19px;font-weight:400}.text-link{font-size:12px;border-bottom:1px solid #acb7a9;padding:8px 0}.text-link span{margin-left:9px}.hero-footnote{font-size:10px;color:#7b8077;display:flex;gap:8px;align-items:center;margin-top:39px;letter-spacing:.1px}.location-icon{color:var(--coral);font-size:18px}.small-divider{width:1px;height:10px;background:#c9cfc1;margin:0 4px}.hero-art{height:500px;position:relative;isolation:isolate;max-width:555px;width:100%;margin-left:auto}.art-grid{position:absolute;inset:0;background-image:radial-gradient(#b5beac 1px,transparent 1px);background-size:22px 22px;opacity:.5;mask-image:radial-gradient(ellipse,black 0%,transparent 75%);z-index:-1}.art-coordinate{font-family:var(--mono);font-size:8px;letter-spacing:.8px;position:absolute;color:#6f7b6c}.art-coordinate.top{top:12px;left:33px}.art-coordinate.bottom{bottom:15px;right:24px}.orbit{position:absolute;border:1px solid #c7d0c1;border-radius:50%;left:50%;top:44%;transform:translate(-50%,-50%) rotate(-27deg)}.orbit-one{width:380px;height:290px}.orbit-two{width:458px;height:190px;transform:translate(-50%,-50%) rotate(38deg);border-style:dashed;border-color:#cbd1c5}.py-cell{position:absolute;left:33%;top:25%;width:168px;height:183px;border-radius:25px;background:var(--green);color:var(--lime);box-shadow:0 18px 30px #243d2026,inset 0 0 0 1px #fff2;transform:rotate(-7deg);display:flex;align-items:center;flex-direction:column;justify-content:space-between;padding:19px 12px 17px;animation:float 8s ease-in-out infinite;z-index:3}.cell-top{font-family:var(--mono);font-size:8px;letter-spacing:1.3px;opacity:.7}.cell-code{font-family:var(--mono);font-size:62px;letter-spacing:-9px;margin-left:-7px;line-height:1}.cell-code i{font-family:Georgia,serif;font-size:48px;font-weight:400;letter-spacing:-3px;font-style:italic;color:var(--lime);padding:0 7px 0 2px}.cell-bottom{font-family:var(--mono);font-size:9px;display:flex;align-items:center;gap:7px}.cell-bottom b{width:5px;height:5px;background:#d5e5a7;border-radius:50%}.data-node{position:absolute;border:1px solid #d0d7c8;background:#f7f7f1ed;border-radius:9px;box-shadow:0 7px 20px #39432e09;padding:16px 18px;z-index:4;backdrop-filter:blur(4px)}.input-node{left:0;top:80px;transform:rotate(-6deg);width:198px}.node-kicker{font-family:var(--mono);font-size:8px;letter-spacing:1px;color:#7b8773;display:block;margin-bottom:12px}.data-line{font-family:var(--mono);display:block;font-size:11px;color:#425240;line-height:1.8}.data-line i{color:var(--coral);font-style:normal}.data-line.faded{color:#939b8c}.output-node{right:0;top:235px;width:192px;transform:rotate(5deg);padding:15px 15px 17px}.output-check{border-radius:50%;display:inline-block;background:#e4ecd6;color:#4b6642;padding:5px 8px;font-size:12px;position:absolute;right:15px;top:13px}.output-title{font-size:14px;font-weight:700;display:block;margin-top:20px}.output-detail{font-family:var(--mono);font-size:8px;color:#8a9281;display:block;margin-top:6px}.connector{position:absolute;height:2px;background:#91a57c;transform-origin:left center;z-index:1}.connector-a{width:99px;top:174px;left:155px;transform:rotate(16deg)}.connector-b{width:135px;top:244px;left:299px;transform:rotate(20deg)}.connector:after{content:'';width:7px;height:7px;border-radius:50%;background:var(--coral);position:absolute;top:-2px;animation:travel 4s linear infinite}.connector-b:after{animation-delay:2s}.code-snippet{position:absolute;bottom:26px;left:25px;width:285px;background:#fffdf9;border:1px solid #d9ded0;border-radius:9px;transform:rotate(-3deg);box-shadow:0 12px 25px #33442b0a;z-index:5;overflow:hidden}.code-dots{height:30px;border-bottom:1px solid #edf0e7;display:flex;align-items:center;gap:4px;padding:0 12px}.code-dots b{width:4px;height:4px;border-radius:50%;background:#c6cebf}.code-dots b:first-child{background:#d98a6c}.code-dots span{font-family:var(--mono);font-size:8px;color:#8e9587;margin-left:auto}.code-snippet code{display:block;padding:15px 17px 18px;font-size:10px;line-height:1.9;color:#4f6350}.code-purple{color:#967b9d}.code-yellow{color:#b5844a}.art-spark{position:absolute;color:var(--coral)}.spark-one{font-size:41px;right:49px;top:74px;animation:spin 40s linear infinite}.spark-two{font-size:25px;left:12px;bottom:207px;color:#a4b093;font-family:var(--mono)}.tools-strip{display:flex;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:85px;gap:35px}.tools-strip>span{font-size:11px;color:#7b8276}.tools-strip>div{display:flex;align-items:center;gap:28px;flex:1;justify-content:center}.tools-strip b{font-size:15px;font-weight:400;color:#3c493d}.tool-plus{color:#aeb8a4;font-size:11px}.tools-end{white-space:nowrap}.tools-end span{margin-left:10px}.section{padding-top:100px;padding-bottom:98px}.section-label{border-top:1px solid var(--line);padding-top:17px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;letter-spacing:.9px;color:#75806e}.section-label span:first-child{color:var(--green);font-weight:700}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;margin:38px 0}.section-intro h2,h2{font-size:47px;line-height:1.09;letter-spacing:-1.8px;font-weight:400;margin:0}.section-intro p{max-width:356px;font-size:14px;line-height:1.75;color:#71786b;margin:0 0 4px}.featured-project{display:grid;grid-template-columns:1.2fr 1fr;background:#fbfbf6;border:1px solid #dce0d3;border-radius:10px;overflow:hidden}.budget-visual{background:#1b4036;position:relative;min-height:396px;overflow:hidden;color:#e3eacb;padding:28px 31px 22px}.visual-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:8px;letter-spacing:1.5px;color:#97b59d}.visual-dot{width:5px;height:5px;border-radius:50%;background:#c1d597}.forecast-title{position:relative;margin-top:40px;z-index:2}.forecast-title>span{font-size:12px;color:#adbfaa;display:block}.forecast-title strong{display:block;font-family:Georgia,serif;font-size:64px;font-weight:400;letter-spacing:-2px;margin-top:3px}.forecast-title strong span{font-family:PySans,Arial,sans-serif;font-size:17px;font-weight:400;color:#adbfaa;letter-spacing:0}.forecast-svg{width:calc(100% - 62px);height:160px;position:absolute;left:31px;top:144px;overflow:visible}.chart-grid{stroke:#bad7b515;stroke-width:1;fill:none}.forecast-line{stroke:#c9dc9e;stroke-width:2;fill:none}.chart-compare{stroke:#d2dccf55;stroke-dasharray:4 6;stroke-width:1;fill:none}.visual-flow{position:absolute;bottom:47px;left:31px;right:31px;border-top:1px solid #91af8d30;padding-top:17px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#b4c6ad}.visual-flow span{padding:6px 8px;border:1px solid #91af8d30;border-radius:3px}.visual-flow i{font-style:normal;color:#c9dc9e}.visual-caption{position:absolute;bottom:18px;font-family:var(--mono);font-size:7px;letter-spacing:1px;color:#88a48a}.featured-copy{padding:35px 39px 30px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.project-index{font-family:var(--mono);font-size:8px;color:#7c886f;letter-spacing:.8px;display:flex;align-items:center;gap:16px}.project-index span{font-size:7px;color:#7d8175}.featured-copy h3{font-weight:400;font-size:31px;letter-spacing:-.7px;line-height:1.15;margin:24px 0 13px}.featured-copy p,.card-copy p{font-size:13px;color:#727a6b;line-height:1.7;margin:0;max-width:347px}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:18px 0 24px}.tags li{font-size:9px;color:#53634c;border:1px solid #dbe2d0;border-radius:3px;padding:5px 8px;line-height:1}.project-link{border:0;background:transparent;font-size:12px;border-bottom:1px solid #a7b59c;padding:6px 0 7px;display:flex;gap:40px;align-items:center;transition:gap .2s}.project-link:hover{gap:49px}.project-link span{font-size:18px;font-weight:400}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.project-card{background:#fbfbf6;border:1px solid #dce0d3;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.project-art{height:228px;position:relative;padding:24px 28px;overflow:hidden}.enrollment-visual{background:#e7ebdf}.mini-art-label{font-family:var(--mono);font-size:8px;color:#7b866f;letter-spacing:1px}.scenario-bars{height:121px;margin:15px 30px 0;display:flex;gap:13px;align-items:flex-end;border-bottom:1px solid #c2ccba}.scenario-bars span{height:var(--h);flex:1;background:#b1bfa1;border-radius:3px 3px 0 0;min-width:0}.scenario-bars span:nth-child(2n){background:#79966d}.scenario-bars span:last-child{background:var(--green)}.scenario-note{position:absolute;bottom:20px;left:28px;right:28px;display:flex;align-items:center;gap:8px;font-size:10px;color:#63745a}.scenario-note>span:last-child{margin-left:auto;font-size:17px}.tiny-square{height:5px;width:5px;background:#8fa678}.systems-visual{background:#e9e9e2}.server-flow{display:flex;align-items:center;justify-content:center;gap:20px;margin:28px 0 0}.flow-chip{font-family:var(--mono);font-size:11px;color:#62705b;text-align:center}.flow-chip span{display:block;margin-top:5px;font-size:8px;color:#8a9283}.server-flow>i{font-style:normal;color:#9da991}.server-stack{width:126px;transform:rotate(-6deg)}.server-stack>span{display:flex;align-items:center;gap:13px;padding:9px 13px;border:1px solid #a5b399;background:#f8f9f0;border-radius:4px;font-family:var(--mono);font-size:9px;letter-spacing:1px;margin-top:-1px;box-shadow:0 4px 6px #40512e07}.server-stack b{width:4px;height:4px;background:#89a771;border-radius:50%}.server-stack>span:nth-child(2){background:#173e35;color:#dce8bb;border-color:#173e35}.green-chip{color:#3d7044;font-size:21px}.card-copy{padding:27px 29px 30px;flex:1;display:flex;flex-direction:column;align-items:flex-start}.card-copy h3{font-size:26px;font-weight:400;letter-spacing:-.6px;margin:18px 0 12px}.card-copy p{max-width:420px}.card-copy .tags{margin-top:16px;margin-bottom:20px}.card-copy .project-link{margin-top:auto}.lab-section{background:#203b31;color:#eff1de;padding:55px 0 68px;position:relative}.light{border-color:#8ca77b40;color:#96ab8a}.light span:first-child{color:#b3caa3}.lab-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:65px;align-items:center;margin-top:51px}.lab-pill{font-family:var(--mono);font-size:8px;letter-spacing:1px;display:flex;gap:8px;align-items:center;color:#b4c3a6;margin-bottom:21px}.lab-pill .status-dot{background:#b8cb93}.lab-intro h2{font-size:39px;line-height:1.15;letter-spacing:-1px}.lab-intro h2 em{color:#cdddac;letter-spacing:-1.3px}.lab-intro>p{font-size:13px;line-height:1.8;color:#aebea5;max-width:335px;margin:22px 0 15px}.lab-intro .demo-disclosure{font-size:10px;color:#93a58a;margin:0 0 22px;line-height:1.7}.subtle-link{font-size:11px;color:#dce8c6;border-bottom:1px solid #a6b99770;padding-bottom:6px}.subtle-link span{margin-left:13px}.demo-panel{border:1px solid #a4b78b45;border-radius:9px;overflow:hidden;background:#192f27;box-shadow:0 16px 35px #14231a30;min-width:0}.demo-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #81967030;padding:0 16px;min-height:51px;gap:10px}.demo-tabs{display:flex;gap:15px}.demo-tabs button{border:0;background:transparent;color:#a7b39b;font-size:10px;padding:18px 2px 16px;position:relative}.demo-tabs button[aria-selected=true]{color:#e6edce}.demo-tabs button[aria-selected=true]:after{content:'';height:2px;background:#c4d6a3;bottom:0;left:0;right:0;position:absolute}.demo-file{font-family:var(--mono);font-size:9px;color:#7e9471}.table-heading{font-family:var(--mono);font-size:8px;letter-spacing:.5px;display:flex;justify-content:space-between;color:#8fa17c;padding:22px 20px 17px}.data-table{width:calc(100% - 40px);margin:0 20px 20px;border-collapse:collapse;text-align:left;font-family:var(--mono);font-size:10px;color:#d2dec2;white-space:nowrap}.data-table th{font-weight:400;color:#879c7c;font-size:9px;padding:0 8px 11px;border-bottom:1px solid #82937440}.data-table td{padding:10px 8px;border-bottom:1px solid #82937418}.data-table th:first-child,.data-table td:first-child{padding-left:0;color:#7f9873}.data-table td:nth-child(2){white-space:pre}.data-table td.issue{color:#dfac8e}.data-table td .row-status{font-family:PySans,Arial,sans-serif;font-size:9px;padding:3px 5px;border:1px solid #74846570;border-radius:3px;color:#aebd9a}.data-table td .row-status.review{color:#e8b69a;border-color:#b7876370}.data-table td .row-status.ready{color:#c0d999;border-color:#abc68060}.demo-footer{min-height:66px;padding:14px 17px;background:#233d30;display:flex;gap:10px;align-items:center;justify-content:space-between}.demo-footer>div{font-size:9px;line-height:1.5;color:#a9ba99;max-width:230px}.demo-button{font-size:10px;color:#21362a;background:#dce8bb;padding:10px 13px;gap:8px;border-radius:4px}.demo-button:hover{background:#ebf2d3}.demo-button span{font-size:14px}#panel-data,#panel-python{min-height:310px}.code-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px 4px;font-family:var(--mono);font-size:8px;color:#9eaf91}.code-head button{background:transparent;border:1px solid #8ba17a50;border-radius:3px;font-size:8px;padding:5px;color:#c5d6b2}.demo-panel pre{padding:10px 18px;margin:0;overflow:auto;font-size:9px;line-height:1.55;color:#c0d2ad;max-height:272px}.about-section{padding-bottom:68px}.about-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:95px;margin-top:44px}.about-story h2{font-size:37px;line-height:1.15;margin:0 0 28px}.about-story h2 em{letter-spacing:-1.3px}.about-story p{font-size:13px;color:#747c6c;line-height:1.85;max-width:460px}.about-signature{font-family:Georgia,serif;font-style:italic;font-size:28px;color:var(--green);margin-top:28px}.about-signature span{font-family:PySans,Arial,sans-serif;display:block;font-style:normal;font-size:9px;margin-top:9px;color:#8c9285;letter-spacing:.2px}.small-heading{font-family:var(--mono);font-size:8px;font-weight:400;letter-spacing:1px;color:#7b846f;margin:0 0 28px}.experience-row{position:relative;display:grid;grid-template-columns:10px 1fr;gap:20px;padding:0 0 27px}.experience-row:not(:last-child):before{content:'';position:absolute;background:#d5ddca;width:1px;left:3px;top:8px;height:100%}.experience-dot{height:7px;width:7px;border:1px solid #7e9971;background:var(--paper);border-radius:50%;margin-top:3px;z-index:1}.experience-row:first-of-type .experience-dot{background:#728c63}.experience-meta{font-family:var(--mono);font-size:8px;letter-spacing:.5px;color:#7e8973}.experience-row h4{font-size:19px;font-weight:400;letter-spacing:-.3px;margin:11px 0 8px}.experience-row p{font-size:12px;line-height:1.7;color:#7a8370;margin:0;max-width:355px}.impact{display:flex;align-items:center;gap:15px;margin-top:17px}.impact strong{font-family:Georgia,serif;font-size:36px;font-weight:400;letter-spacing:-1.5px;color:var(--green)}.impact>span{font-size:9px;line-height:1.65;color:#7e8c71}.approach{display:grid;grid-template-columns:.65fr 1fr 1fr 1fr;border-top:1px solid var(--line);padding:28px 0 72px;gap:28px}.approach-label{font-family:var(--mono);font-size:8px;line-height:1.7;letter-spacing:.6px;color:#7f8a74;padding-top:4px}.approach>div>span{font-family:var(--mono);font-size:9px;color:#ba755a}.approach h3{font-size:14px;font-weight:400;letter-spacing:-.1px;margin:12px 0 8px}.approach p{font-size:10px;color:#8a9280;margin:0;line-height:1.6}.contact-section{background:#183a30;color:#e8eed6;padding:36px 0 0}.contact-top{font-family:var(--mono);display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#94ae86}.contact-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;margin-top:52px}.contact-layout h2{font-size:47px;line-height:1.12;letter-spacing:-1.5px}.contact-layout h2 em{color:#d4e4ad;letter-spacing:-1.8px}.contact-copy p{font-size:12px;line-height:1.8;color:#9eb390;max-width:330px;margin:2px 0 20px}.contact-button{background:#dce8bb;color:#20382b;font-size:11px;padding:13px 18px;gap:44px}.contact-button:hover{background:#edf3d5}.contact-details{display:flex;gap:50px;margin:27px 0 56px;font-size:11px;color:#b8c9a7}.contact-details a{border-bottom:1px solid #829a6f50;padding-bottom:5px}.contact-details span{padding-left:12px}.contact-section footer{height:90px;border-top:1px solid #90a37c35;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8ca17b}.footer-brand{font-size:24px;color:#d7e3bf}.footer-brand .brand-symbol{background:#d9e6b9;color:#183a30;width:27px;height:29px;font-size:23px;border-radius:6px}.contact-section footer>a:last-child span{margin-left:13px}dialog{border:1px solid #d0d9c4;padding:0;border-radius:14px;color:var(--ink);background:var(--paper);max-width:690px;width:calc(100% - 36px);max-height:88vh;box-shadow:0 24px 100px #0c281e33}dialog::backdrop{background:#10281fd1;backdrop-filter:blur(5px)}.dialog-shell{padding:46px;position:relative}.dialog-close{position:absolute;top:16px;right:17px;border:1px solid #ccd4bf;border-radius:50%;height:30px;width:30px;font-size:22px;background:transparent;display:grid;place-items:center}.dialog-shell h2{font-size:37px;margin:27px 0;letter-spacing:-1.3px}.dialog-shell h3{font-size:13px;font-weight:700;margin:25px 0 8px}.dialog-shell p,.dialog-shell li{font-size:13px;line-height:1.8;color:#68755e}.dialog-shell ul{padding-left:19px}.dialog-shell .button{margin-top:19px}.dialog-note{border-top:1px solid var(--line);padding-top:15px;font-size:10px!important;color:#7a866f!important}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{display:block;padding:15px;position:fixed;top:10px;left:10px;background:var(--green);color:white;z-index:100}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(15px);transition:opacity .6s,transform .6s}.js-motion .reveal.visible{opacity:1;transform:none}@keyframes float{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-9px) rotate(-4deg)}}@keyframes travel{0%{left:0;opacity:0}15%,85%{opacity:1}100%{left:95%;opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.hero h1{font-size:76px}.hero{min-height:720px}.hero-art{height:520px}}@media(max-width:1150px){.wrap{width:calc(100% - 72px)}.nav-name{display:none}.hero{grid-template-columns:1.1fr 1fr;gap:10px;min-height:620px}.hero h1{font-size:59px;letter-spacing:-2.9px}.hero-art{transform:scale(.92);transform-origin:right center;width:450px;max-width:none;margin-left:-27px}.hero-intro{max-width:355px;font-size:14px}.hero-actions{gap:22px}.tools-strip{gap:15px}.tools-strip>div{gap:20px}.tools-end{display:none!important}.lab-layout{gap:35px}.lab-intro h2{font-size:34px}.featured-copy{padding:28px}.featured-copy h3{font-size:28px}.about-layout{gap:55px}.about-story h2{font-size:31px}.contact-layout{gap:40px}.contact-layout h2{font-size:40px}.project-index{gap:10px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.hero h1{font-size:49px;letter-spacing:-2.3px}.hero-art{transform:scale(.75);width:450px;margin-left:-103px}.hero{min-height:570px;padding-top:24px;padding-bottom:25px}.hero-actions{gap:17px}.button{padding:13px 16px;gap:20px}.text-link{font-size:10px}.hero-footnote{font-size:8px;gap:6px}.section{padding-top:75px;padding-bottom:70px}.section-intro h2{font-size:40px}.section-intro p{max-width:292px;font-size:12px}.featured-project{grid-template-columns:1.05fr 1fr}.budget-visual{min-height:372px;padding:23px}.visual-flow{left:23px;right:23px;font-size:8px;gap:7px}.visual-flow span{padding:5px}.forecast-svg{width:calc(100% - 46px);left:23px}.featured-copy{padding:26px}.featured-copy h3{font-size:26px}.featured-copy p,.card-copy p{font-size:12px}.project-index span{display:none}.project-art{height:204px;padding:22px}.scenario-bars{margin:12px 12px 0;height:112px;gap:9px}.scenario-note{bottom:17px;left:22px;right:22px;font-size:9px}.server-flow{gap:11px}.server-stack{width:108px}.flow-chip{font-size:10px}.card-copy{padding:23px}.card-copy h3{font-size:24px}.lab-layout{grid-template-columns:1fr;gap:30px;margin-top:32px}.lab-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;align-items:start}.lab-pill{grid-column:1/3;margin-bottom:16px}.lab-intro h2{grid-column:1;grid-row:2/5;font-size:37px}.lab-intro>p{grid-column:2;margin-top:0}.lab-intro .demo-disclosure{margin:0 0 17px}.subtle-link{grid-column:2;width:max-content}.demo-panel{max-width:650px;width:100%;margin:auto}.demo-footer>div{max-width:none}.data-table{font-size:11px}.about-layout{gap:40px;grid-template-columns:1fr 1fr}.about-story h2{font-size:30px}.about-story p{font-size:12px}.approach{grid-template-columns:1fr 1fr 1fr;gap:22px;padding-bottom:50px}.approach-label{grid-column:1/4}.contact-layout h2{font-size:35px}.contact-copy p{font-size:11px}.contact-layout{gap:30px;margin-top:40px}.contact-details{margin-bottom:40px}}
@media(max-width:640px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.nav-wrap{height:80px}.brand{font-size:27px}.brand-symbol{width:30px;height:31px;font-size:25px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;border:1px solid #c3cdba;border-radius:5px;background:transparent;margin-left:auto;align-items:center}.menu-toggle span{display:block;width:15px;height:1px;background:var(--green)}nav{display:none;position:absolute;top:71px;left:20px;right:20px;padding:23px;background:#fcfcf6;border:1px solid var(--line);border-radius:7px;box-shadow:0 15px 25px #32452814;flex-direction:column;align-items:stretch;gap:23px}nav.open{display:flex}.nav-contact{margin:0;display:flex;justify-content:space-between}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:40px;padding-bottom:15px;gap:8px}.eyebrow{font-size:9px;letter-spacing:1.05px}.hero h1{font-size:clamp(42px,11.1vw,64px);line-height:1.035;letter-spacing:-2.1px;margin:21px 0 21px}.hero h1 em{letter-spacing:-2px}.hero-intro{font-size:14px;max-width:365px;line-height:1.7}.hero-actions{gap:25px;margin-top:24px}.hero-actions .button{font-size:11px;gap:23px;padding:14px 17px}.text-link{font-size:11px}.hero-footnote{font-size:8px;margin-top:25px;gap:7px}.hero-art{width:450px;height:430px;max-width:none;margin: -12px auto -12px;transform:scale(.79);transform-origin:center center;align-self:center;flex-shrink:0}.art-coordinate.top{top:0}.input-node{top:57px}.py-cell{top:24%}.output-node{top:204px}.orbit{top:42%}.code-snippet{bottom:5px;left:35px}.art-coordinate.bottom{bottom:-24px;right:44px}.spark-one{top:53px;right:33px}.spark-two{bottom:175px}.connector-a{top:148px}.connector-b{top:215px}.tools-strip{flex-direction:column;gap:14px;align-items:flex-start;padding:22px 0;min-height:auto}.tools-strip>span{font-size:9px}.tools-strip>div{justify-content:space-between;gap:11px;width:100%;flex-wrap:wrap}.tools-strip b{font-size:12px}.tool-plus{font-size:8px}.section{padding-top:58px;padding-bottom:55px}.section-label{font-size:8px;padding-top:14px}.section-label span:last-child{display:none}.section-intro{display:block;margin:26px 0}.section-intro h2{font-size:38px;letter-spacing:-1.6px}.section-intro h2 em{letter-spacing:-1.7px}.section-intro p{font-size:12px;max-width:100%;margin:19px 0 0;line-height:1.8}.featured-project{display:flex;flex-direction:column}.budget-visual{min-height:304px;padding:23px}.forecast-title{margin-top:22px}.forecast-title strong{font-size:53px}.forecast-title strong span{font-size:14px}.forecast-svg{height:130px;top:112px}.visual-flow{bottom:37px;font-size:8px}.visual-caption{bottom:14px;font-size:6px}.featured-copy{padding:27px}.project-index span{display:inline;font-size:6px}.featured-copy h3{margin:18px 0 13px;font-size:29px}.featured-copy h3 br{display:none}.featured-copy p{font-size:12px}.tags{margin:17px 0}.project-link{font-size:11px}.project-pair{grid-template-columns:1fr;gap:20px;margin-top:20px}.project-art{height:221px}.scenario-bars{margin:15px 26px 0;height:123px;gap:13px}.server-flow{gap:20px;margin-top:31px}.server-stack{width:120px}.flow-chip{font-size:11px}.card-copy{padding:26px}.card-copy h3{font-size:27px}.card-copy p{font-size:12px}.card-copy .project-link{margin-top:0}.project-index{font-size:8px}.lab-section{padding:36px 0 40px}.lab-layout{margin-top:28px;gap:28px}.lab-intro{display:block}.lab-pill{font-size:7px}.lab-intro h2{font-size:35px}.lab-intro>p{max-width:100%;font-size:12px;margin:20px 0 14px}.lab-intro .demo-disclosure{font-size:9px;max-width:330px}.subtle-link{font-size:10px}.demo-toolbar{padding:0 12px;min-height:47px}.demo-file{font-size:8px}.demo-tabs button{padding:16px 0;font-size:9px}.table-heading{padding:19px 13px 16px;font-size:7px}.table-scroll{overflow-x:auto}.data-table{width:calc(100% - 26px);margin:0 13px 18px;font-size:9px}.data-table th{font-size:8px;padding:0 5px 10px}.data-table td{padding:11px 5px;font-size:9px}.data-table td .row-status{font-size:8px;padding:3px 4px}.demo-footer{padding:13px 12px;gap:8px}.demo-footer>div{font-size:8px;max-width:150px}.demo-button{font-size:9px;padding:9px 10px;gap:5px}.demo-panel{border-radius:7px}.demo-panel pre{font-size:8px;max-height:278px;padding:10px 12px}.code-head{padding:14px 12px 5px;font-size:7px}#panel-data,#panel-python{min-height:311px}.about-layout{display:block;margin-top:29px}.about-story h2{font-size:32px}.about-story p{font-size:12px;line-height:1.85}.about-signature{font-size:27px}.experience{margin-top:39px}.small-heading{margin-bottom:24px}.experience-row{gap:19px}.experience-meta{font-size:8px}.experience-row h4{font-size:19px}.experience-row p{font-size:12px}.about-section{padding-bottom:28px}.approach{grid-template-columns:1fr;gap:23px;padding:23px 0 40px}.approach-label{grid-column:auto}.approach>div{display:grid;grid-template-columns:26px 1fr;gap:6px 13px}.approach>div>span{grid-column:1;grid-row:1/3;padding-top:2px}.approach h3{margin:0;font-size:14px}.approach p{grid-column:2;font-size:10px}.contact-section{padding-top:26px}.contact-top{font-size:7px;letter-spacing:.5px}.contact-top>span:last-child{display:none}.contact-layout{display:block;margin-top:30px}.contact-layout h2{font-size:35px;line-height:1.15}.contact-copy{margin-top:24px}.contact-copy p{font-size:12px;max-width:320px}.contact-button{font-size:11px;gap:40px;padding:12px 17px}.contact-details{flex-direction:column;align-items:flex-start;gap:16px;margin-top:25px;margin-bottom:36px;font-size:10px}.contact-section footer{height:auto;padding:24px 0;flex-wrap:wrap;gap:18px}.footer-brand{font-size:23px}.contact-section footer>span{margin-left:auto;font-size:8px}.contact-section footer>a:last-child{width:100%;font-size:9px}.dialog-shell{padding:39px 25px 29px}.dialog-shell h2{font-size:30px}.dialog-shell .eyebrow{font-size:8px}.dialog-shell p,.dialog-shell li{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}

/* Keep the illustration canvas within narrow viewports. */
.art-canvas{display:contents}
@media(max-width:640px){.hero-art{width:100%;max-width:100%;height:405px;transform:none;align-self:stretch;margin:23px 0 0;overflow:clip}.art-canvas{display:block;position:absolute;width:450px;height:430px;top:0;left:50%;transform:translateX(-50%) scale(.9);transform-origin:top center}.hero-actions{gap:20px}.text-link{white-space:nowrap}}
@media(max-width:480px){.hero-art{height:365px}.art-canvas{transform:translateX(-50%) scale(.8)}}
@media(max-width:420px){.hero-art{height:330px}.art-canvas{transform:translateX(-50%) scale(.72)}}
@media(max-width:374px){.hero h1{font-size:37px}.hero-art{height:300px}.art-canvas{transform:translateX(-50%) scale(.64)}.hero-actions{gap:14px}.hero-actions .button{padding:13px 14px;gap:18px}.hero-footnote{font-size:7px;gap:5px}}
@media(max-width:344px){.hero-art{height:275px}.art-canvas{transform:translateX(-50%) scale(.57)}}

.featured-game{margin-bottom:25px}.dungeon-visual{min-height:396px;background:#192f27;color:#e0e8c8;display:block;position:relative;padding:28px 31px;overflow:hidden}.dungeon-visual:before{content:'';position:absolute;width:380px;height:380px;border:1px solid #a6ba8930;border-radius:50%;right:-110px;top:0}.dungeon-visual:after{content:'';position:absolute;width:300px;height:300px;border:1px dashed #a6ba8928;border-radius:50%;right:-70px;top:40px}.dungeon-art-title{font-size:45px;line-height:1.06;letter-spacing:-1.4px;margin-top:35px;position:relative;z-index:1}.dungeon-art-title em{font-family:Georgia,serif;font-size:56px;font-weight:400;color:#ccdba5}.mini-door{position:absolute;right:45px;top:90px;width:101px;height:156px;background:#2b4938;border:7px solid #728765;border-bottom:0;border-radius:60px 60px 0 0;transform:rotate(6deg);display:grid;place-items:center;box-shadow:0 12px 30px #0e201f30;color:#c4d29d;font:italic 60px Georgia;z-index:1}.mini-door:before{content:'';inset:9px 9px 0;border:1px solid #a9be8938;border-radius:50px 50px 0 0;position:absolute}.dungeon-room-line{position:absolute;bottom:74px;left:31px;right:31px;display:flex;align-items:center;gap:9px}.dungeon-room-line>span{height:29px;width:29px;border:1px solid #93a87b60;border-radius:50%;display:grid;place-items:center;font:9px var(--mono);color:#b7cca0}.dungeon-room-line>span:first-child{background:#d6e5b0;color:#2c4a34;border-color:#d6e5b0}.dungeon-room-line i{height:1px;flex:1;background:#93a87b40}.dungeon-art-foot{position:absolute;bottom:27px;left:31px;right:31px;display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:1px;color:#93ae7d}.dungeon-art-foot>span:last-child{font-size:21px}.source-shortcut{font-size:9px;margin-top:13px;color:#7a8c69;padding-bottom:3px}.featured-project:not(.featured-game) .budget-visual{min-height:365px}.featured-project:not(.featured-game) .featured-copy{padding-top:30px;padding-bottom:30px}
@media(max-width:900px){.dungeon-art-title{font-size:35px;margin-top:36px}.dungeon-art-title em{font-size:46px}.mini-door{width:79px;height:130px;right:25px;top:108px;border-width:6px;font-size:45px}.dungeon-visual{padding:24px;min-height:372px}.dungeon-room-line{left:24px;right:24px}.dungeon-art-foot{left:24px;right:24px;font-size:7px}}
@media(max-width:640px){.dungeon-visual{min-height:315px;padding:23px}.dungeon-art-title{font-size:38px;margin-top:26px}.dungeon-art-title em{font-size:47px}.mini-door{width:72px;height:119px;top:86px;right:24px;font-size:43px;border-width:5px}.dungeon-room-line{bottom:59px;left:23px;right:23px;gap:8px}.dungeon-room-line>span{width:25px;height:25px;font-size:8px}.dungeon-art-foot{bottom:22px;left:23px;right:23px;font-size:6px}.source-shortcut{font-size:9px}.featured-project:not(.featured-game) .budget-visual{min-height:304px}.featured-game{margin-bottom:20px}}
@media(min-width:641px) and (max-width:740px){.dungeon-art-title{font-size:32px}.dungeon-art-title em{font-size:42px}.mini-door{width:62px;height:106px;right:20px;top:112px;font-size:36px}}
@media(max-width:374px){.dungeon-art-title{font-size:31px}.dungeon-art-title em{font-size:38px}.mini-door{right:18px;top:94px;width:54px;height:92px;font-size:32px;border-width:4px}}
