@charset "UTF-8";
:root{--paper:#f5f4ee;--surface:#eeede5;--card:#faf9f4;--ink:#24332c;--muted:#60685e;--line:#d5d8cb;--green:#c3f38d;--green-ink:#314f2c;--soft-green:#e0e8d5;--shadow:0 24px 70px #13271c16;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;--ease:cubic-bezier(.22,1,.36,1);color-scheme:light;font-family:var(--sans);font-synthesis:none}
:root[data-theme=dark]{--paper:#17221e;--surface:#202e27;--card:#24322b;--ink:#eeeee3;--muted:#adb7a7;--line:#3c4a40;--green:#c3f38d;--green-ink:#c3f38d;--soft-green:#2f432e;--shadow:0 24px 70px #0003;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px;scrollbar-gutter:stable}body{margin:0;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}::selection{background:var(--green);color:#24332c}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}button:disabled{cursor:default}img,svg{display:block;max-width:100%}button{border:0}p,h1,h2,h3,h4{margin:0}p{line-height:1.65}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--green-ink);outline-offset:5px}.button:focus-visible,.shape-buttons button:focus-visible{outline-offset:4px}.wrap{width:min(1232px,calc(100% - 112px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip-link{position:fixed;z-index:100;left:20px;top:12px;padding:14px 22px;background:var(--green);color:#24332c;transform:translateY(-160%);border-radius:6px}.skip-link:focus{transform:translateY(0)}.eyebrow{font:11px/1.6 var(--mono);letter-spacing:.11em;text-transform:uppercase}.muted{color:var(--muted)}.arrow{display:inline-block;transition:transform .2s var(--ease)}a:hover .arrow,button:hover .arrow{transform:translate(3px,-3px)}.arrow.down{transform:none}.dot{display:inline-block;width:7px;height:7px;background:#6b993e;border-radius:50%;box-shadow:0 0 0 4px #7ead4020;margin-right:9px}.site-header{position:sticky;z-index:30;top:0;background:var(--paper);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:39px;height:39px;transition:transform .28s var(--ease)}.brand:hover .brand-mark{transform:rotate(-8deg)}.brand-name{font-size:15px;font-weight:700;letter-spacing:-.04em}.brand-name span{display:block;font:10px/1.8 var(--mono);font-weight:400;letter-spacing:.06em;color:var(--muted)}.nav-links{display:flex;gap:30px;align-items:center}.nav-links>a{font-size:13px;position:relative;padding:10px 0}.nav-links>a:after{position:absolute;content:'';left:0;bottom:4px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}.nav-links>a:hover:after{transform:scaleX(1)}.nav-tools{display:flex;align-items:center;gap:10px}.icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;transition:background .18s,transform .18s}.icon-button:hover{background:var(--surface)}.icon-button:active{transform:scale(.94)}.icon-button svg{width:16px;height:16px}.command-trigger{display:flex;gap:10px;align-items:center;font-size:12px;border:1px solid var(--line);border-radius:99px;background:transparent;padding:10px 13px}.command-trigger kbd{font:10px var(--mono);color:var(--muted)}.theme-moon{display:block}.theme-sun{display:none}[data-theme=dark] .theme-moon{display:none}[data-theme=dark] .theme-sun{display:block}.hero{position:relative;padding-top:64px}.hero-topline{display:flex;justify-content:space-between;gap:16px}.hero-grid{display:grid;grid-template-columns:1.14fr 1fr;gap:22px;align-items:center;padding:48px 0 62px}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(58px,6.1vw,90px);font-weight:500;line-height:1.01;letter-spacing:-.07em;max-width:700px}.hero h1>span{display:block}.hero h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.073em;display:inline-block;position:relative}.hero h1 em:after{content:'';position:absolute;bottom:2px;left:4%;right:0;height:8px;background:var(--green);z-index:-1;transform:rotate(-1.5deg)}.hero-intro{font-size:17px;color:var(--muted);max-width:420px;margin-top:30px;line-height:1.75}.hero-intro strong{color:var(--ink);font-weight:500}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:99px;font-size:13px;font-weight:500;padding:16px 23px;min-height:49px;transition:transform .18s var(--ease),background .18s,color .18s}.button:hover{background:var(--green);border-color:var(--green);color:#24332c}.button:active{transform:scale(.97)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:13px}.text-link .arrow{font-size:18px}.hero-art{min-width:0;position:relative;aspect-ratio:1;max-width:540px;width:100%;justify-self:end}.hero-art:before,.hero-art:after{content:'+';position:absolute;color:var(--muted);font:17px var(--mono);opacity:.65;top:26px;left:8px}.hero-art:after{left:auto;right:8px;top:auto;bottom:64px}.field-ring{position:absolute;inset:8% 3% 13%;border:1px solid var(--line);border-radius:50%;opacity:.5}.field-ring:after{content:'';position:absolute;inset:11%;border:1px dashed var(--line);border-radius:50%}.hero-art canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}.field-fallback{position:absolute;inset:6%;width:88%;height:88%;color:var(--ink);opacity:.7}.hero-art.is-ready .field-fallback{display:none}.art-note{position:absolute;z-index:2;left:8%;top:13%;font:10px/1.6 var(--mono);letter-spacing:.05em;color:var(--muted)}.art-note span{display:block;color:var(--green-ink)}.art-coordinate{position:absolute;right:6%;bottom:22%;font:9px var(--mono);color:var(--muted);writing-mode:vertical-rl}.shape-controls{position:absolute;bottom:3%;left:6%;right:6%;z-index:3;display:flex;justify-content:center;align-items:center;gap:12px}.shape-buttons{display:flex;gap:2px;border:1px solid var(--line);background:var(--paper);padding:4px;border-radius:99px}.shape-buttons button{padding:9px 15px;background:transparent;border-radius:99px;font:10px var(--mono);transition:background .18s,color .18s;min-height:34px}.shape-buttons button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.motion-toggle{background:var(--paper);border:1px solid var(--line);border-radius:50%;width:36px;height:36px;font:12px var(--mono)}.hero-bottom{border-block:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:24px}.hero-bottom p{font:10px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.stack-inline{display:flex;gap:26px;flex-wrap:wrap;font-size:13px}.stack-inline span+span:before{content:'·';margin-right:26px;color:var(--muted)}.work-section{padding-top:108px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:17px;color:var(--muted)}.section-heading h2{font-size:clamp(36px,4.2vw,56px);font-weight:400;letter-spacing:-.055em;line-height:1.1}.section-heading h2 em{font-family:var(--serif);font-weight:400}.section-side{max-width:255px;color:var(--muted);font-size:13px;line-height:1.7}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:-10px 0 32px}.filter{background:transparent;border:1px solid var(--line);border-radius:99px;min-height:38px;padding:10px 17px;font-size:11px;transition:background .18s,border .18s,color .18s}.filter span{font:9px var(--mono);opacity:.7;margin-left:5px}.filter[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.projects{display:grid;grid-template-columns:1fr 1fr;gap:56px 30px;align-items:start}.project{min-width:0;position:relative}.project.featured{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr;background:#26362d;border-radius:10px;overflow:hidden;color:#f1f3e8}.visual{height:350px;position:relative;border-radius:9px;overflow:hidden;isolation:isolate}.visual-stamp{position:absolute;z-index:5;top:24px;left:25px;font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:9px}.visual-stamp:before{content:'';width:5px;height:5px;background:currentColor;border-radius:50%}.visual-caption{position:absolute;bottom:22px;left:25px;right:25px;z-index:3;display:flex;justify-content:space-between;gap:12px;font:9px var(--mono);letter-spacing:.03em}.project-copy{padding-top:24px}.project-meta{font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;gap:12px}.project h3{font-size:28px;letter-spacing:-.045em;font-weight:500;margin:13px 0 10px;line-height:1.15}.project-description{font-size:14px;max-width:480px;color:var(--muted);line-height:1.75}.project-footer{display:flex;gap:20px;align-items:center;margin-top:16px;justify-content:space-between}.project-footer .eyebrow{font-size:9px;letter-spacing:.015em;text-transform:none}.case-study{font-size:13px}.case-study summary{list-style:none;min-height:44px;display:inline-flex;align-items:center;gap:23px;border-bottom:1px solid var(--line)}.case-study summary::-webkit-details-marker{display:none}.case-study summary:hover:after{transform:translate(2px,-2px)}.case-study[open]{grid-column:1/-1}.case-study[open]>.case-content{margin-top:24px;padding:28px;background:var(--card);border-radius:8px}.project.featured .visual{height:430px;border-radius:0;color:#334335;background:#dce7ce}.project.featured .project-copy{padding:46px 42px 32px;display:flex;flex-direction:column;justify-content:center}.project.featured .project-meta{color:#b9c6b4}.project.featured h3{font-size:45px;letter-spacing:-.055em;margin:25px 0 16px}.project.featured .project-description{color:#c9d1c3;max-width:355px}.project.featured .project-footer{display:block;margin-top:23px}.project.featured .project-footer>.eyebrow{color:#b9c6b4;margin-top:18px;display:block}.project.featured summary{border-color:#668064}.project.featured .case-study[open]{color:var(--ink)}.project.featured .case-study[open] summary{color:#eef4e7}.featured-kicker{font-family:var(--serif);font-style:italic;font-size:25px;line-height:1.2;color:#eef5e7;margin-top:2px;margin-bottom:14px}.rag-visual{background-image:radial-gradient(#92a18566 .65px,transparent .65px)!important;background-size:14px 14px!important}.document-scene{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;perspective:800px}.document-stack{position:relative;width:215px;height:262px;transform:rotate(-9deg) translate(-50px,4px);transition:transform .5s var(--ease)}.rag-visual:hover .document-stack{transform:rotate(-6deg) translate(-53px,-2px)}.doc-sheet{position:absolute;inset:0;background:#f7f8ec;border:1px solid #bec8b1;box-shadow:8px 14px 22px #253a2120;padding:23px}.doc-sheet.back{transform:rotate(9deg) translate(15px,0);background:#d0ddc0}.doc-sheet.mid{transform:rotate(4deg) translate(7px,0);background:#e6eddc}.doc-sheet.front{position:relative}.doc-top{font:9px var(--mono);color:#68745b;border-bottom:1px solid #d9dfce;padding-bottom:14px;display:flex;justify-content:space-between}.doc-heading{font-size:18px;letter-spacing:-.05em;margin-top:21px;max-width:110px;line-height:1.2}.doc-lines{margin-top:23px}.doc-lines i{display:block;height:3px;background:#ccd4c0;margin-bottom:9px;width:100%}.doc-lines i:nth-child(3n){width:67%}.doc-lines i.active{height:14px;background:#c3f38d;position:relative}.doc-lines i.active:after{content:'';height:3px;position:absolute;top:5px;left:6px;width:75%;background:#829b60}.doc-page{font:8px var(--mono);position:absolute;bottom:20px;left:23px;color:#68745b}.evidence-card{position:absolute;width:223px;left:50%;top:42%;padding:20px;background:#25382d;color:#eff6e9;box-shadow:9px 16px 30px #22361e24;border:1px solid #5e7654;border-radius:7px;transform:rotate(5deg);transition:transform .5s var(--ease)}.rag-visual:hover .evidence-card{transform:rotate(2deg) translateY(-5px)}.evidence-card .eyebrow{font-size:8px;color:#adc69d}.evidence-line{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;letter-spacing:-.02em}.evidence-line span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#c3f38d;color:#2a4029;font-size:11px}.evidence-code{font:10px/1.8 var(--mono);color:#c8d8bc;margin-top:14px;padding-top:11px;border-top:1px solid #53664a}.evidence-code b{font-weight:400;color:#c3f38d}.evidence-foot{margin-top:13px;color:#a8ba9c;font:8px var(--mono)}.pefforza-visual{background:#ecdccb;color:#534c3d}.connect-wrap{position:absolute;inset:47px 0 38px;display:flex;justify-content:center;align-items:center}.connect-board-shell{width:280px;transform:rotate(-7deg);transition:transform .4s var(--ease);position:relative}.pefforza-visual.is-playing .connect-board-shell{transform:rotate(0)}.connect-board{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;background:#384e43;border:1px solid #263f32;border-radius:10px;padding:18px 17px;box-shadow:0 8px 0 #253c31,0 17px 30px #30392730}.disc{aspect-ratio:1;border-radius:50%;background:#d9c8b6;box-shadow:inset 0 3px 3px #21392c36;display:grid;place-items:center;position:relative}.disc.human{background:#cf7452;box-shadow:inset 0 -3px 0 #aa5839}.disc.ai{background:#e7c473;box-shadow:inset 0 -3px 0 #c4a04b}.disc.human:after{content:'';width:20%;height:20%;border:1px solid #633c2d;border-radius:50%}.disc.ai:after{content:'';width:17%;height:17%;background:#766126;border-radius:2px}.disc.new{animation:disc-drop .25s var(--ease)}.disc.winner{outline:2px solid #fff6df;outline-offset:2px}.connect-columns{position:absolute;inset:-24px 17px auto;display:grid;grid-template-columns:repeat(7,1fr);gap:9px;z-index:3}.connect-columns button{border:0;background:transparent;height:255px;position:relative;border-radius:4px;min-width:0;color:#384e43}.connect-columns button:before{content:'↓';position:absolute;top:0;left:0;right:0;font-size:17px;opacity:.4}.connect-columns button:hover:not(:disabled):before{opacity:1;transform:translateY(3px)}.connect-columns button:disabled:before{opacity:.13}.connect-columns button:focus-visible{outline:2px solid #27462f;outline-offset:2px}.play-demo{position:absolute;z-index:6;bottom:33px;right:26px;border-radius:99px;padding:11px 15px;font-size:11px;background:#f8f0e2;color:#344d3b;box-shadow:0 3px 14px #3c452615;transition:transform .2s}.play-demo:hover{background:#fff7e8}.game-status{position:absolute;top:24px;right:25px;left:165px;text-align:right;font:9px var(--mono)}.pefforza-visual.is-playing .visual-caption{right:111px}.keefetch-visual{background:#d8dde9;color:#404c67}.icon-constellation{position:absolute;inset:48px 30px 45px;display:grid;place-items:center}.icon-tray{position:relative;width:260px;height:235px;transform:rotate(-8deg);transition:transform .5s var(--ease)}.keefetch-visual:hover .icon-tray{transform:rotate(-3deg) translateY(-4px)}.app-tile{display:grid;place-items:center;position:absolute;width:60px;height:60px;background:#f5f6fc;box-shadow:0 5px 0 #bdc4d8,0 15px 25px #52679522;border:1px solid #bcc5da;border-radius:16px;font-family:var(--serif);font-size:27px;color:#536183}.app-tile:nth-of-type(1){left:0;top:14px;transform:rotate(-9deg)}.app-tile:nth-of-type(2){left:96px;top:0;transform:rotate(8deg);color:#546846;background:#e3edcf}.app-tile:nth-of-type(3){right:0;top:20px;transform:rotate(14deg);color:#8f6551;background:#f3dece}.app-tile:nth-of-type(4){left:20px;bottom:14px;transform:rotate(8deg);color:#976e21;background:#f0e5bf}.app-tile:nth-of-type(5){right:4px;bottom:6px;transform:rotate(-8deg);color:#7c5d85;background:#e8dfee}.app-tile.main-icon{top:84px;left:91px;width:84px;height:84px;z-index:2;background:#3d5073;color:#f5f4ec;font-family:var(--sans);font-size:35px;border-color:#354764;box-shadow:0 7px 0 #263f61,0 16px 23px #38517033}.tile-path{position:absolute;inset:0;width:100%;height:100%;color:#8494b1}.rank-note{position:absolute;right:21px;bottom:66px;padding:10px 13px;border-radius:6px;background:#f5f6fc;box-shadow:var(--shadow);font:9px var(--mono);transform:rotate(4deg)}.rank-note span{color:#598337;margin-right:4px}.thyst-visual{background:#dcd5e9;color:#5e4c78}.thyst-device{position:absolute;left:7%;right:7%;top:23%;height:57%;background:#1f192b;border:6px solid #2b2537;outline:1px solid #81768f;border-radius:13px;box-shadow:0 9px 0 #b6abc4,0 24px 33px #33254728;transform:rotate(-5deg);overflow:hidden;transition:transform .5s var(--ease)}.thyst-visual:hover .thyst-device{transform:rotate(-2deg) translateY(-4px)}.thyst-device img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2}.device-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at 50% 60%,#725591,#292038 67%);color:#eadcf5}.device-fallback strong{font:italic 45px var(--serif);letter-spacing:-.07em}.device-fallback small{font:9px var(--mono);margin-top:12px;opacity:.8}.device-controls{position:absolute;inset:auto 16px 16px;height:2px;background:#6f607c}.device-controls:after{content:'';display:block;width:35%;height:2px;background:#c7a5e3}.thyst-label{position:absolute;right:25px;bottom:54px;background:#f4ecff;color:#56416b;z-index:4;padding:12px 17px;border-radius:7px;box-shadow:0 10px 25px #37204920;font:10px var(--mono);transform:rotate(4deg)}.scraping-visual{background:#e4e7da;color:#505c3f}.dashboard-frame{position:absolute;top:22%;left:9%;right:7%;height:65%;border:1px solid #b0b89e;background:#f9faee;border-radius:8px;box-shadow:0 6px 0 #c6cdb7,0 18px 30px #25351621;transform:rotate(4deg);overflow:hidden;transition:transform .5s var(--ease)}.scraping-visual:hover .dashboard-frame{transform:rotate(1deg) translateY(-4px)}.dashboard-frame img{width:100%;height:100%;object-fit:cover;object-position:top;position:relative;z-index:2}.dashboard-placeholder{position:absolute;inset:0;padding:18px;color:#49573b}.dashboard-top{border-bottom:1px solid #d5dbc8;padding-bottom:11px;font:9px var(--mono);display:flex;justify-content:space-between}.chart-bars{height:104px;display:flex;gap:9px;align-items:flex-end;margin:19px 5px 0}.chart-bars i{flex:1;background:#bccda5;border-radius:3px 3px 0 0;height:45%}.chart-bars i:nth-child(2){height:65%}.chart-bars i:nth-child(3){height:90%;background:#60794c}.chart-bars i:nth-child(4){height:72%}.chart-bars i:nth-child(5){height:50%}.chart-bars i:nth-child(6){height:34%}.pipeline-note{position:absolute;z-index:4;left:22px;bottom:51px;transform:rotate(-5deg);background:#f2f6e6;border:1px solid #c9d3b7;padding:13px 15px;border-radius:5px;font:10px var(--mono);box-shadow:0 10px 22px #3c512221}.media-fallback-note{display:none}.has-image-error .media-fallback-note{display:inline}.has-image-error .media-live-note{display:none}.about-section{margin-top:120px;border-top:1px solid var(--line);padding-top:82px;display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.about-label .eyebrow{color:var(--muted);margin-bottom:25px}.about-label h2{font-size:clamp(37px,4.5vw,56px);letter-spacing:-.06em;font-weight:400;line-height:1.1}.about-label h2 em{font-family:var(--serif);font-weight:400}.about-copy>p{font-size:21px;line-height:1.65;letter-spacing:-.027em;max-width:640px}.about-copy>p+p{color:var(--muted);font-size:15px;letter-spacing:0;margin-top:21px;max-width:570px}.about-facts{margin-top:38px;padding-top:25px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:23px}.about-facts dt{font:10px var(--mono);color:var(--muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.06em}.about-facts dd{font-size:13px;line-height:1.8;margin:0}.principles{margin:66px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:30px}.principle{border-top:1px solid var(--line);padding-top:24px;display:flex;align-items:flex-start;gap:25px}.principle .number{font:11px var(--mono);color:var(--muted);padding-top:5px}.principle h3{font-size:18px;font-weight:500;letter-spacing:-.035em;margin-bottom:10px}.principle p{font-size:13px;color:var(--muted);max-width:380px}.index-section{margin-top:106px}.index-section .section-heading{margin-bottom:30px}.project-index{border-top:1px solid var(--line)}.index-row{padding:22px 4px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:42px 1.05fr 1.2fr .6fr 20px;align-items:center;gap:16px;transition:padding .2s var(--ease),background .2s}.index-row:hover{background:var(--surface);padding-inline:12px}.index-number{font:10px var(--mono);color:var(--muted)}.index-name{font-size:16px;letter-spacing:-.03em}.index-desc{font-size:12px;color:var(--muted);line-height:1.5}.index-type{font:9px/1.6 var(--mono);color:var(--muted)}.index-row .arrow{font-size:19px}.index-caption{font-size:11px;color:var(--muted);margin-top:16px;max-width:650px}.contact-section{padding:94px 0 69px;border-bottom:1px solid var(--line);margin-top:86px;position:relative}.contact-section>.eyebrow{color:var(--muted);margin-bottom:22px}.contact-body{display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.contact-body h2{font-size:clamp(48px,6.5vw,87px);font-weight:400;line-height:1.04;letter-spacing:-.07em}.contact-body h2 em{font-family:var(--serif);font-weight:400}.contact-actions{display:flex;flex-direction:column;align-items:flex-end;gap:13px;padding-bottom:7px}.copy-profile{background:transparent;color:var(--muted);font:10px var(--mono);padding:12px;min-height:40px}.copy-profile:hover{color:var(--ink)}.site-footer{padding:28px 0 34px;display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-name{font-size:12px;display:flex;align-items:center;gap:10px}.footer-name svg{width:25px;height:25px}.footer-right{display:flex;align-items:center;gap:23px;font:9px var(--mono);color:var(--muted)}.footer-right a{min-height:35px;display:inline-flex;align-items:center}.footer-right a:hover{text-decoration:underline}.footer-note{font:9px/1.7 var(--mono);color:var(--muted);max-width:360px}.back-top{font-size:15px!important}.case-dialog,.command-dialog{padding:0;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px);box-shadow:0 30px 100px #0003;overscroll-behavior:contain}.case-dialog{width:850px}.case-dialog::backdrop,.command-dialog::backdrop{background:#15251fd4;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.case-dialog[open],.command-dialog[open]{animation:dialog-in .24s var(--ease)}.dialog-toolbar{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:6;padding:15px 23px;background:var(--paper);border-bottom:1px solid var(--line);gap:15px}.dialog-toolbar>.eyebrow{color:var(--muted);font-size:9px}.dialog-actions{display:flex;gap:10px;align-items:center}.dialog-share{font-size:11px;background:transparent;padding:10px}.dialog-inner{padding:38px 48px 48px}.case-content .eyebrow{color:var(--muted);margin-bottom:13px}.case-title{font-size:47px;letter-spacing:-.065em;line-height:1.1;font-weight:400}.case-deck{font:italic 24px/1.4 var(--serif);margin:12px 0 26px;color:var(--muted)}.case-summary{font-size:16px;color:var(--muted);max-width:670px}.case-tags{display:flex;gap:8px;flex-wrap:wrap;margin:23px 0 30px}.case-tags span{padding:7px 10px;font:10px var(--mono);border:1px solid var(--line);border-radius:99px}.case-section{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.case-section h4{font-size:17px;letter-spacing:-.025em;margin-bottom:12px;font-weight:500}.case-section p{color:var(--muted);font-size:14px;line-height:1.8}.case-section p+p{margin-top:12px}.case-proof{padding:22px;background:var(--soft-green);border-radius:7px;margin-top:26px}.case-proof strong{font-size:18px;font-weight:500;letter-spacing:-.025em}.case-proof p{font-size:12px;margin-top:8px;color:var(--muted)}.case-links{margin-top:24px;display:flex;gap:12px 25px;flex-wrap:wrap}.case-links a{font-size:12px;text-decoration:underline;text-underline-offset:4px;min-height:35px;display:inline-flex;align-items:center;gap:9px}.case-verified{margin-top:25px;font:9px/1.8 var(--mono);color:var(--muted)}.command-dialog{width:530px;margin-top:15dvh}.command-search-wrap{display:flex;align-items:center;gap:15px;padding:18px 21px;border-bottom:1px solid var(--line)}.command-search-wrap svg{width:18px;height:18px;flex:none}.command-search{width:100%;min-width:0;padding:8px 0;background:transparent;border:0;color:var(--ink);font-size:16px;outline-offset:2px!important}.command-search::placeholder{color:var(--muted)}.command-results{padding:9px;max-height:55dvh;overflow:auto}.command-result{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;border-radius:6px;gap:15px;min-height:54px}.command-result:hover,.command-result:focus{background:var(--soft-green)}.command-result strong{font-size:13px;font-weight:500}.command-result small{font:9px var(--mono);color:var(--muted)}.command-foot{padding:14px 22px;border-top:1px solid var(--line);font:9px var(--mono);color:var(--muted);display:flex;justify-content:space-between}.command-empty{font-size:13px;color:var(--muted);padding:20px}.modal-open{overflow:hidden}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;z-index:99;border:1px solid var(--line);background:var(--ink);color:var(--paper);border-radius:99px;padding:14px 22px;font-size:12px;box-shadow:var(--shadow);transition:opacity .18s,transform .18s}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:1}.will-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.will-reveal.visible{opacity:1;transform:translateY(0)}.noscript-note{padding:12px 0;font-size:12px;color:var(--muted)}@keyframes dialog-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes disc-drop{from{transform:translateY(-32px);opacity:.5}to{transform:none;opacity:1}}@keyframes content-in{from{opacity:.65}to{opacity:1}}.filter-enter{animation:content-in .18s ease-out}
@media(min-width:1600px){.hero-grid{padding-top:65px;padding-bottom:78px}.hero-art{max-width:550px}.hero h1{font-size:94px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.nav-links{gap:23px}.hero-grid{gap:0}.hero h1{font-size:clamp(56px,7.3vw,79px)}.hero-intro{font-size:15px;max-width:340px}.hero-art{margin-right:-15px}.project.featured .project-copy{padding:32px}.project.featured .visual{height:414px}.document-stack{transform:rotate(-9deg) translate(-36px,4px);width:190px;height:243px}.evidence-card{width:191px;padding:17px;left:49%}.visual{height:310px}.connect-board-shell{width:244px}.connect-board{gap:8px;padding:15px}.connect-columns{left:15px;right:15px;gap:8px}.connect-columns button{height:225px}.icon-tray{transform:scale(.9) rotate(-8deg)}.game-status{left:120px;max-width:160px;margin-left:auto;line-height:1.5}.about-section{gap:45px}.hero-bottom{align-items:flex-start}.stack-inline{gap:14px}.stack-inline span+span:before{margin-right:14px}.shape-buttons button{padding-inline:12px}.art-note{top:10%}.art-coordinate{right:0}.hero h1 em:after{height:7px}.hero-topline .eyebrow{font-size:9px}}
@media(max-width:800px){.wrap{width:calc(100% - 44px)}.nav{height:73px}.nav-links{gap:22px}.command-trigger{padding:10px}.command-trigger span{display:none}.hero{padding-top:34px}.hero-grid{grid-template-columns:1fr;padding-top:37px;padding-bottom:18px}.hero h1{font-size:clamp(62px,10.6vw,86px);max-width:680px}.hero-intro{max-width:490px;font-size:16px}.hero-art{max-width:435px;justify-self:center;margin:-5px 0 0;aspect-ratio:1.14}.hero-actions{margin-top:25px}.art-coordinate{right:4%;bottom:21%}.hero-bottom{align-items:flex-start;padding:22px 0;gap:18px;flex-direction:column}.stack-inline{font-size:12px}.hero-topline .eyebrow:last-child{font-size:9px}.work-section{padding-top:67px}.section-heading{margin-bottom:30px}.section-side{max-width:190px;font-size:12px}.project.featured{grid-template-columns:1fr 1fr}.project.featured .visual{height:400px}.project.featured .project-copy{padding:29px 23px}.project.featured h3{font-size:35px;margin-top:20px}.featured-kicker{font-size:21px}.project.featured .project-description{font-size:13px}.project.featured .project-meta{font-size:8px}.document-stack{transform:rotate(-9deg) translate(-25px,-9px);width:155px;height:212px}.doc-sheet{padding:17px}.doc-heading{font-size:16px}.doc-top{font-size:7px}.doc-lines{margin-top:16px}.doc-lines i{margin-bottom:7px}.doc-page{left:17px;font-size:7px}.evidence-card{width:166px;left:42%;top:47%;padding:14px}.evidence-line{font-size:11px}.evidence-code{font-size:9px}.evidence-foot{font-size:7px}.projects{gap:38px 21px}.visual{height:278px}.project h3{font-size:24px}.project-description{font-size:13px}.project-meta{font-size:9px}.project-footer{gap:12px;flex-wrap:wrap;margin-top:12px}.project-footer>.eyebrow{display:none}.visual-stamp{left:19px;top:20px;font-size:8px}.visual-caption{left:19px;right:19px;bottom:17px;font-size:8px}.connect-wrap{inset:44px 0 36px}.connect-board-shell{width:219px}.connect-board{gap:7px;padding:13px}.connect-columns{left:13px;right:13px;gap:7px}.connect-columns button{height:205px}.play-demo{right:15px;bottom:29px;padding:10px;font-size:10px}.game-status{top:20px;right:16px;left:113px;font-size:8px}.icon-tray{transform:scale(.8) rotate(-8deg)}.icon-constellation{inset:30px 10px}.rank-note{font-size:8px;right:15px;bottom:49px}.thyst-label{font-size:8px;right:15px;bottom:45px;padding:10px}.pipeline-note{font-size:8px;left:13px;bottom:47px}.dashboard-placeholder{padding:13px}.chart-bars{height:74px;margin-top:14px;gap:7px}.dashboard-top{font-size:8px}.device-fallback strong{font-size:34px}.about-section{margin-top:76px;padding-top:56px;gap:34px;grid-template-columns:.75fr 1.25fr}.about-copy>p{font-size:18px}.about-copy>p+p{font-size:14px}.about-facts{grid-template-columns:1fr;gap:20px;margin-top:27px}.principles{gap:24px;margin-top:42px}.principle{gap:17px}.principle h3{font-size:16px}.index-section{margin-top:72px}.index-row{grid-template-columns:30px 1fr 1fr 20px;gap:10px;padding-block:18px}.index-type{display:none}.index-desc{font-size:11px}.index-name{font-size:14px}.contact-section{padding-top:58px;margin-top:55px}.contact-body h2{font-size:58px}.contact-actions{gap:10px}.contact-actions .button{font-size:12px;padding:15px 19px;gap:18px}.footer-right{gap:14px;flex-wrap:wrap;justify-content:flex-end}.footer-note{max-width:240px;font-size:8px}}
@media(max-width:560px){html{scroll-padding-top:92px}.wrap{width:calc(100% - 38px)}.nav{gap:10px;height:70px}.brand{gap:9px}.brand-mark{width:33px;height:33px}.brand-name{font-size:13px}.brand-name span{font-size:8px}.nav-links{gap:17px;margin-left:auto}.nav-links>a{font-size:11px}.nav-links>a.nav-index{display:none}.nav-tools{gap:5px}.icon-button{width:33px;height:33px}.command-trigger{display:none!important}.hero{padding-top:27px}.hero-topline{gap:9px}.hero-topline>.eyebrow{font-size:8px;letter-spacing:.05em}.hero-topline>.eyebrow:last-child{font-size:8px}.dot{width:5px;height:5px;margin-right:5px}.hero-grid{padding-top:31px}.hero h1{font-size:clamp(52px,12.6vw,70px);line-height:1.03;letter-spacing:-.073em}.hero h1 em{letter-spacing:-.075em}.hero-intro{font-size:14px;line-height:1.75;max-width:340px;margin-top:23px}.hero-actions{gap:22px}.hero-actions .button{padding:14px 20px;font-size:12px;min-height:47px}.hero-actions .text-link{font-size:12px;gap:12px}.hero-art{margin-top:12px;max-width:365px;aspect-ratio:1.12}.art-note{font-size:8px;top:12%;left:8%}.art-coordinate{font-size:8px;right:3%}.shape-controls{bottom:3%}.shape-buttons button{font-size:9px;padding:9px 14px}.motion-toggle{width:33px;height:33px}.hero-bottom{padding:20px 0;gap:17px}.hero-bottom p{font-size:8px}.stack-inline{gap:9px;font-size:11px}.stack-inline span+span:before{margin-right:9px}.work-section{padding-top:58px}.section-heading{align-items:flex-start;gap:18px}.section-heading .eyebrow{font-size:9px;margin-bottom:13px}.section-heading h2{font-size:37px}.section-side{font-size:11px;max-width:140px;margin-top:30px}.filters{gap:6px;margin-top:-7px;margin-bottom:23px}.filter{font-size:10px;padding:10px 13px;min-height:36px}.filter span{font-size:8px}.projects{grid-template-columns:1fr;gap:38px}.project.featured{display:block}.project.featured .visual{height:325px}.project.featured .project-copy{padding:28px 26px 29px}.project.featured .project-meta{font-size:9px}.project.featured h3{font-size:40px;margin:17px 0 9px}.featured-kicker{font-size:24px}.project.featured .project-description{font-size:13px;max-width:none}.project.featured .project-footer{margin-top:17px}.project.featured .project-footer>.eyebrow{margin-top:13px;font-size:9px}.document-stack{transform:rotate(-9deg) translate(-41px,7px);width:173px;height:222px}.evidence-card{width:175px;left:42%;top:42%;padding:15px}.evidence-line{font-size:12px}.evidence-code{font-size:9px}.doc-heading{font-size:17px}.project.featured .visual-caption{font-size:8px}.visual{height:316px}.project h3{font-size:28px}.project-copy{padding-top:21px}.project-meta{font-size:9px}.project-description{font-size:14px}.project-footer>.eyebrow{display:block;font-size:8px}.project-footer{margin-top:13px}.case-study summary{font-size:12px;gap:18px;min-height:40px}.connect-board-shell{width:250px}.connect-board{gap:8px;padding:15px}.connect-columns{left:15px;right:15px;gap:8px}.connect-columns button{height:230px}.game-status{font-size:8px;max-width:170px}.play-demo{right:21px;bottom:33px;padding:11px 13px}.icon-tray{transform:scale(.91) rotate(-8deg)}.rank-note{bottom:59px;font-size:9px}.thyst-label{bottom:55px;font-size:9px}.pipeline-note{bottom:56px;font-size:9px}.chart-bars{height:100px}.about-section{grid-template-columns:1fr;gap:30px;margin-top:71px;padding-top:48px}.about-label .eyebrow{font-size:9px;margin-bottom:18px}.about-label h2{font-size:43px}.about-copy>p{font-size:19px;line-height:1.65}.about-copy>p+p{font-size:14px}.about-facts{grid-template-columns:1fr 1fr;gap:20px}.about-facts dt{font-size:9px}.about-facts dd{font-size:12px}.principles{grid-template-columns:1fr;gap:24px;margin-top:37px}.principle{padding-top:20px;gap:20px}.principle h3{font-size:17px}.principle p{font-size:13px}.index-section{margin-top:65px}.index-section .section-side{display:none}.index-row{grid-template-columns:24px 1fr 17px;gap:11px;padding:18px 0}.index-desc{display:none}.index-name{font-size:15px}.index-number{font-size:9px}.index-caption{font-size:10px;line-height:1.7}.contact-section{padding-top:49px;padding-bottom:40px;margin-top:50px}.contact-section>.eyebrow{font-size:9px;margin-bottom:20px}.contact-body{display:block}.contact-body h2{font-size:clamp(49px,12.6vw,64px)}.contact-actions{margin-top:29px;align-items:flex-start;gap:8px}.contact-actions .button{font-size:12px;padding:15px 21px;gap:32px}.copy-profile{padding-left:0;font-size:9px}.site-footer{align-items:flex-start;padding:24px 0 27px;gap:18px;flex-wrap:wrap}.footer-name{font-size:11px}.footer-right{gap:18px;font-size:9px;order:3;justify-content:space-between;width:100%}.footer-note{font-size:8px;max-width:180px;text-align:right}.case-dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:9px}.dialog-toolbar{padding:12px 16px}.dialog-toolbar>.eyebrow{font-size:8px}.dialog-inner{padding:27px 23px 33px}.case-title{font-size:39px}.case-deck{font-size:22px;margin:10px 0 20px}.case-summary{font-size:14px}.case-tags{gap:6px;margin:21px 0 24px}.case-tags span{font-size:9px}.case-section p{font-size:13px}.case-section h4{font-size:16px}.case-proof{padding:18px}.case-proof strong{font-size:17px}.case-proof p{font-size:11px}.case-links{gap:8px 20px}.case-links a{font-size:11px}.command-dialog{margin-top:12dvh}.command-search-wrap{padding:13px}.command-result{padding:13px 12px}.command-result small{max-width:110px;text-align:right;line-height:1.6}.toast{font-size:11px;max-width:calc(100vw - 24px);width:max-content;text-align:center;line-height:1.5}.project.featured .case-study[open]>.case-content{padding:20px}.case-study[open]>.case-content{padding:21px}}
@media(max-width:370px){.brand-name span{display:none}.brand-name{font-size:12px}.nav-links{gap:12px}.nav-links>a{font-size:10px}.nav-tools .icon-button{width:30px;height:30px}.hero h1{font-size:49px}.hero-topline .eyebrow:last-child{display:none}.section-side{max-width:117px;font-size:10px}.section-heading h2{font-size:33px}.filter{padding:9px 10px}.stack-inline{gap:7px;font-size:10px}.stack-inline span+span:before{margin-right:7px}.project-footer>.eyebrow{font-size:7px}.connect-board-shell{width:232px}.connect-columns button{height:214px}.document-stack{width:157px;transform:rotate(-9deg) translate(-35px,8px)}.evidence-card{width:149px;left:40%;top:40%;padding:13px}.evidence-line{font-size:11px}.evidence-code{font-size:8px}.about-facts{gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.will-reveal{opacity:1;transform:none}.hero-art:hover .document-stack,.visual:hover .icon-tray,.visual:hover .thyst-device,.visual:hover .dashboard-frame{transform:none}.arrow{transition:none}}html.motion-off{scroll-behavior:auto}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .will-reveal{opacity:1;transform:none}
@media print{.site-header,.hero-art,.filters,.nav-tools,.visual,.hero-actions,.contact-actions,.site-footer,.case-dialog,.command-dialog,.toast{display:none!important}.wrap{width:100%;max-width:none}.hero,.work-section,.about-section,.index-section,.contact-section{padding:20px 0;margin-top:15px}.hero-grid,.projects,.project.featured,.about-section{display:block}.hero h1{font-size:47px}.project,.project.featured{break-inside:avoid;background:transparent;color:#111;margin-bottom:25px}.project.featured .project-copy{padding:15px 0}.project.featured *{color:#111!important}.project-copy{padding-top:10px}.principles{display:block}.principle{margin-bottom:20px}.case-study summary{display:none}.section-heading{margin-bottom:20px}.case-study:not([open])>.case-content{display:none}.will-reveal{opacity:1;transform:none}a[href^='https://github.com']:after{content:' (' attr(href) ')';font:8px var(--mono)}body{background:white;color:#111}.section-heading h2,.about-label h2,.contact-body h2{font-size:32px}}

/* The static details fallback expands to the full card width. */
.project-footer:has(.case-study[open]){display:block}.project-footer:has(.case-study[open])>.eyebrow{display:block;margin-top:18px}.toast.show{pointer-events:auto;user-select:text;overflow-wrap:anywhere}.site-notes{max-width:820px;padding-top:60px;padding-bottom:80px}.site-notes>h1{font-size:clamp(35px,6vw,58px);font-weight:400;letter-spacing:-.055em;margin:20px 0}.site-notes>p{font-size:16px;color:var(--muted);margin-bottom:30px}.site-notes a:not(.button){text-decoration:underline;text-underline-offset:4px}.site-notes .case-section{margin-top:30px}.site-notes .case-section h2{font-size:23px;font-weight:400;letter-spacing:-.025em;margin-bottom:15px}.site-notes .case-section p{font-size:14px}.site-notes .case-section p+p{margin-top:15px}.site-notes .button{margin-top:30px}.project.featured .project-meta{font-size:9px}

/* Simone / tzii: a personal introduction with real work on the first screen. */
.brand-name .brand-handle{display:inline;font:inherit;color:var(--muted);letter-spacing:inherit}
.brand-name small{display:block;font:10px/1.8 var(--mono);font-weight:400;letter-spacing:.06em;color:var(--muted)}
.nav{height:76px}.nav-links>a{font-size:14px}.eyebrow{font-size:12px}
.personal-hero{padding-top:28px}.personal-hero .hero-topline{align-items:center}
.personal-hero .hero-topline a{color:var(--green-ink)}
.personal-hero .hero-grid{grid-template-columns:1fr 1.08fr;gap:clamp(32px,5vw,72px);padding:24px 0 28px;align-items:center}
.personal-hero h1{font-size:clamp(46px,4.55vw,66px);line-height:1.06;letter-spacing:-.055em}
.personal-hero h1 em{background:none;box-shadow:none;text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:4px;text-underline-offset:7px}
.personal-hero .hero-intro{font-size:17px;line-height:1.65;max-width:440px;margin-top:22px}
.personal-note{font-family:var(--serif);font-style:italic;font-size:17px;margin-top:13px;color:var(--muted)}
.personal-hero .hero-actions{margin-top:24px;gap:28px}.personal-hero .button{padding:14px 22px;font-size:14px}
.hero-project{min-width:0;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 12px 35px #15261b09;overflow:hidden}
.hero-project-heading{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.hero-project-heading .eyebrow{color:var(--muted);font-size:12px;letter-spacing:.05em}
.hero-project-heading h2{display:flex;gap:14px;align-items:center;font-size:28px;letter-spacing:-.055em;font-weight:500;line-height:1.2;margin-top:3px}
.hero-project-heading h2>span{font-size:21px;color:var(--muted)}
.hero-project-type{text-align:right;font:12px/1.6 var(--mono);color:var(--muted)}
.hero-project-image{position:relative;display:block;background:#142922;overflow:hidden}
.hero-project-image img{display:block;width:100%;height:clamp(190px,17vw,245px);object-fit:cover;object-position:center;transition:transform .3s var(--ease)}
.hero-project-image:hover img{transform:scale(1.025)}
.hero-image-caption{position:absolute;bottom:10px;left:14px;font:12px/1.5 var(--mono);background:#142922ec;color:#eef3e9;padding:4px 9px;border-radius:4px}
.hero-project-copy{padding:17px 22px 20px}.hero-project-copy p{font-size:16px;line-height:1.5;color:var(--muted)}.hero-project-copy strong{font-weight:400;color:var(--ink)}
.hero-project-links{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:16px}.hero-project-links a{font-size:14px}.hero-project-links a:first-child{color:var(--green-ink)}
.work-sampler{display:grid;grid-template-columns:1fr 1.2fr 1.3fr 1.2fr;gap:22px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0}
.work-sampler>.eyebrow{max-width:130px;color:var(--muted);font-size:12px}.work-sampler a{display:grid;grid-template-columns:1fr auto;gap:3px 12px;border-left:1px solid var(--line);padding-left:22px;min-width:0}
.work-sampler strong{font-size:15px;font-weight:500}.work-sampler a>span{grid-column:1;font-size:12px;color:var(--muted)}.work-sampler b{grid-column:2;grid-row:1/3;align-self:center;font-weight:400;transition:transform .2s}.work-sampler a:hover b{transform:translate(2px,-2px)}
.work-section{padding-top:72px}.section-side{font-size:14px}.project-description,.about-copy>p,.principle p{font-size:16px;line-height:1.65}
.project-meta,.project.featured .project-meta,.visual-caption,.project-footer>.eyebrow{font-size:12px}
.project-footer{flex-wrap:wrap;gap:12px}.project-footer>.eyebrow{white-space:normal;max-width:100%}
.project-footer summary,.case-links a,.case-tags>span,.case-verified{font-size:14px}.case-section p,.case-summary,.case-proof p,.site-notes .case-section p{font-size:16px;line-height:1.65}
.case-section h4{font-size:20px}.case-proof strong{font-size:20px}.case-dialog .eyebrow{font-size:12px}.case-deck{font-size:20px}
.index-type,.index-desc,.index-caption,.footer-note,.footer-right,.about-facts dt{font-size:14px}.index-name,.about-facts dd{font-size:16px}
.playground{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:35px 0;margin-top:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.playground h2{font-size:46px;line-height:1.1;font-weight:400;letter-spacing:-.045em;margin:18px 0}.playground h2 em{font-family:var(--serif)}.playground>div>p:not(.eyebrow){font-size:16px;max-width:340px;color:var(--muted)}
.playground .hero-art{width:100%;height:340px;min-height:0;margin:0}.playground .shape-controls{bottom:0}.playground .art-note{top:20px;font-size:12px}.playground .art-coordinate{display:none}
@media(max-width:1050px){.personal-hero .hero-grid{gap:28px}.personal-hero h1{font-size:48px}.personal-hero .hero-intro{font-size:16px}.hero-project-heading{padding:16px 18px}.hero-project-copy{padding:16px 18px}.work-sampler{gap:12px}.work-sampler a{padding-left:14px}.work-sampler a>span{line-height:1.5}.nav-links{gap:22px}}
@media(max-width:760px){
 .wrap{width:calc(100% - 36px)}.nav{height:64px;gap:14px}.brand-mark{width:32px;height:32px}.brand{gap:8px}.brand-name{font-size:15px}.brand-name small{display:none}.nav-links{gap:18px}.nav-links>a{font-size:14px}.nav .icon-button{width:34px;height:34px}
 .personal-hero{padding-top:18px}.personal-hero .hero-topline{align-items:flex-start;gap:10px}.personal-hero .hero-topline .eyebrow{font-size:12px;letter-spacing:0}.personal-hero .hero-topline .eyebrow:last-child{text-align:right;max-width:135px}
 .personal-hero .hero-grid{grid-template-columns:1fr;gap:20px;padding:18px 0 22px}.personal-hero h1{font-size:38px;line-height:1.08;letter-spacing:-.055em}.personal-hero h1>span:nth-child(n+2){display:inline}.personal-hero h1>span:nth-child(2):after{content:' '}.personal-hero h1 em{text-decoration-thickness:3px;text-underline-offset:4px}
 .personal-hero .hero-intro{font-size:16px;line-height:1.5;max-width:560px;margin-top:15px}.personal-note{display:none}.personal-hero .hero-actions{display:flex;margin-top:20px}
 .hero-project{border-radius:12px}.hero-project-heading{padding:12px 16px}.hero-project-heading h2{font-size:25px}.hero-project-heading .eyebrow{font-size:12px}.hero-project-image img{height:160px}.hero-image-caption{font-size:12px;bottom:8px;left:10px}.hero-project-copy{padding:13px 16px 16px}.hero-project-copy p{font-size:16px;line-height:1.45}.hero-project-links{margin-top:12px;gap:10px}.hero-project-links a{font-size:14px}
 .work-sampler{grid-template-columns:1fr 1fr;gap:16px;padding:20px 0}.work-sampler>.eyebrow{max-width:100%}.work-sampler a{padding-left:12px}.work-sampler a:last-child{grid-column:2}.work-sampler a>span{font-size:12px}.work-sampler strong{font-size:15px}
 .work-section{padding-top:50px}.section-heading{display:block}.section-heading h2{font-size:36px}.section-side{max-width:none;font-size:14px;margin-top:14px}.project-description{font-size:16px}.project-footer>.eyebrow{font-size:12px}.project-meta,.project.featured .project-meta{font-size:12px}.visual-caption{font-size:12px;gap:14px}.filter{font-size:14px;padding:11px 14px}.filter span{font-size:12px}
 .playground{grid-template-columns:1fr;gap:15px;margin-top:45px;padding:28px 0}.playground h2{font-size:37px}.playground .hero-art{height:300px;max-width:440px;justify-self:center}.playground .art-note{font-size:12px}.shape-buttons button{font-size:12px}
 .index-desc{font-size:14px}.about-facts dd{font-size:16px}.case-dialog .dialog-toolbar{gap:8px;flex-wrap:wrap}.case-dialog .dialog-toolbar>.eyebrow{font-size:12px}.dialog-actions{margin-left:auto}.case-dialog .case-section p,.case-dialog .case-summary,.case-dialog .case-proof p{font-size:16px}.footer-right{font-size:14px;flex-wrap:wrap}.footer-note{font-size:14px}
}
@media(max-width:370px){.nav-links{gap:12px}.nav-links>a{font-size:13px}.personal-hero h1{font-size:34px}.personal-hero .hero-topline .eyebrow:last-child{display:none}.hero-project-image img{height:145px}.hero-project-links a{font-size:13px}.hero-project-type{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-project-image:hover img{transform:none}}
@media print{.playground{display:none}.hero-project-image img{height:auto}.personal-hero .hero-grid{display:block}.hero-project{margin-top:24px;break-inside:avoid}.work-sampler{display:none}}

/* Artwork and readable captions occupy separate, non-overlapping rows. */
.visual,
.project.featured .visual {
  height: auto;
  display: flex;
  flex-direction: column;
}
.visual-stage {
  position: relative;
  height: 350px;
  flex: none;
  overflow: hidden;
  isolation: isolate;
}
.project.featured .visual-stage { height: 430px; }
.visual-caption,
.project.featured .visual-caption,
.pefforza-visual.is-playing .visual-caption {
  position: relative;
  inset: auto;
  z-index: auto;
  flex: 1;
  min-height: 58px;
  padding: 14px 25px;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: .02em;
}
.visual-caption > span:first-child { flex: 1; min-width: 0; }
.visual-caption > span:last-of-type { flex: none; text-align: right; }
.visual-caption .play-demo {
  position: static;
  flex: none;
  margin: 0;
  padding: 10px 13px;
  font-size: 12px;
  white-space: nowrap;
}
@media (max-width: 1100px) {
  .project.featured .visual-stage { height: 414px; }
}
@media (max-width: 980px) {
  .visual-stage { height: 310px; }
  .project.featured .visual-stage { height: 400px; }
  .visual-caption { padding-inline: 19px; }
}
@media (max-width: 640px) {
  .visual-stage { height: 316px; }
  .project.featured .visual-stage { height: 380px; }
  .visual-caption,
  .project.featured .visual-caption { padding: 14px 19px; gap: 10px; }
  .visual-caption .play-demo { padding: 10px; }
}

/* Compact, native language links stay available without JavaScript. */
.language-switch {
  display: inline-flex;
  flex: none;
  align-items: center;
  padding: 3px;
  gap: 2px;
  border: 1px solid var(--line, #d5d8cb);
  border-radius: 99px;
  background: var(--surface, #eeede5);
  font: 12px/1 var(--mono, monospace);
}
.language-switch a {
  display: grid;
  place-items: center;
  min-width: 34px;
  min-height: 32px;
  padding: 0 5px;
  border-radius: 99px;
  color: var(--muted, #60685e);
  text-decoration: none;
}
.language-switch a[aria-current="true"] {
  background: var(--ink, #24332c);
  color: var(--paper, #f5f4ee);
}
.language-switch a:hover:not([aria-current="true"]) { color: var(--ink, #24332c); }
.language-switch a:focus-visible { outline-offset: 2px; }
.notes-nav .language-switch { margin-left: auto; }
html[lang="it"] .game-status { font-size: 11px; line-height: 1.45; }
html[lang="it"] .hero-project-type { min-width: 74px; }
@media (max-width: 760px) {
  .nav-tools { gap: 8px; }
  .nav { gap: 10px; }
  .nav-links { gap: 12px; }
  .nav { height: auto; min-height: 64px; flex-wrap: wrap; padding-block: 12px; }
  .nav-tools { margin-left: auto; }
  .nav-links { order: 3; display: flex; flex-basis: 100%; justify-content: center; gap: 28px; }
  .notes-nav { height: auto; min-height: 64px; flex-wrap: wrap; padding-block: 12px; }
  .notes-nav > .text-link { order: 3; width: 100%; font-size: 14px; }
  html[lang="it"] .personal-hero h1 { font-size: 36px; }
  html[lang="it"] .hero-project-links { gap: 12px; }
  html[lang="it"] .game-status { font-size: 10px; }
}
@media (max-width: 360px) {
  .nav-links { display: flex; }
  html[lang="it"] .personal-hero h1 { font-size: 32px; }
}

.project-tagline { margin-top: 8px; font-size: 18px; line-height: 1.4; }
@media (max-width: 760px) { html { scroll-padding-top: 128px; } }
:root{--paper:#f2f0e6;--surface:#e8e6d4;--card:#fbf9f1;--ink:#202b23;--muted:#59645b;--line:#d4d3c0;--rule:#b7b6a0;--green:#c3f38d;--green-ink:#2e4c29;--soft-green:#dde5cc;--radius:4px;--ease:cubic-bezier(.2,.7,.3,1)}
:root[data-theme=dark]{--paper:#131a16;--surface:#1a231e;--card:#1d2822;--ink:#ebeee2;--muted:#a7b2a1;--line:#33413a;--rule:#47574d;--green:#c3f38d;--green-ink:#c9f59b;--soft-green:#2b3d2c}
body{background:var(--paper);color:var(--ink)}
::selection{background:var(--green);color:#1d2a12}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--green-ink);outline-offset:3px;border-radius:2px}
h1,h2,h3{text-wrap:balance;overflow-wrap:break-word}
p,.project-description,.case-section p,.case-summary{overflow-wrap:break-word}
.eyebrow,.project-meta,.visual-caption,.visual-stamp,.game-status,.art-note{font-variant-numeric:tabular-nums}
.skip-link{background:var(--ink);color:var(--paper);border-radius:3px;font-weight:700}
.site-header{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--rule)}
.nav{height:72px}
.nav-links{counter-reset:navledger}
.nav-links>a::before{counter-increment:navledger;content:"0" counter(navledger);font:11px/1 var(--mono);color:var(--muted);margin-right:7px;letter-spacing:.06em}
.language-switch{border:1px solid var(--rule);border-radius:3px;background:var(--surface)}
.language-switch a{border-radius:2px;min-width:38px;min-height:36px}
.command-trigger,.icon-button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:3px;background:var(--card);display:inline-flex;align-items:center;justify-content:center;gap:8px}
.command-trigger:hover,.icon-button:hover{border-color:var(--rule);background:var(--surface)}
.hero-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--rule);padding-bottom:14px}
.personal-hero .hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:start;padding:32px 0 40px}
.personal-hero h1{font-size:clamp(44px,4.4vw,64px);line-height:1.04;letter-spacing:-.045em}
.personal-hero .hero-intro{max-width:44ch}
.hero-actions{display:flex;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:13px 22px;border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:var(--paper);font-weight:650;font-size:14px;letter-spacing:.01em;box-shadow:none;transition:transform .16s var(--ease),background .16s,color .16s,border-color .16s}
.button:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--ink) 90%,var(--paper));color:var(--paper)}
.button:active{transform:none}
.text-link{color:var(--ink);font-weight:650;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.text-link:hover{text-decoration-thickness:2px}
.hero-project{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:none;overflow:hidden}
.hero-project-heading{padding:16px 20px;border-bottom:1px solid var(--line)}
.hero-project-image{background:var(--surface)}
.hero-project-image img{transition:transform .3s var(--ease)}
.hero-image-caption{position:static;display:block;background:var(--surface);color:var(--muted);border-top:1px solid var(--line);padding:8px 20px;border-radius:0}
.hero-project-copy{padding:16px 20px 18px}
.work-sampler{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,1.1fr);gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:0}
.work-sampler>.eyebrow{grid-column:auto;max-width:none;padding:14px 16px 14px 0;color:var(--muted);margin:0;align-self:center}
.work-sampler a{display:flex;align-items:baseline;gap:10px;min-width:0;border-left:1px solid var(--line);border-top:0;padding:14px 0 14px 20px}
.work-sampler a>span{flex:1;min-width:0;overflow-wrap:break-word}
.work-sampler b{margin-left:8px}
.work-section{border-top:1px solid var(--rule);padding-top:48px}
.section-heading{border-bottom:1px solid var(--line);padding-bottom:20px}
.projects{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px 32px;align-items:start}
.project{display:grid;grid-template-columns:minmax(0,1fr);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;overflow:hidden;min-width:0}
.project.featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);background:var(--card);color:var(--ink);border:1px solid var(--line)}
.project.featured .project-copy{color:var(--ink)}
.project:nth-of-type(even)>.visual{order:0;border-inline-end:0;border-inline-start:0;border-bottom:1px solid var(--line)}
.project>.visual{border-inline-end:0;border-bottom:1px solid var(--line)}
.project:hover{border-color:var(--rule)}
.project-copy{padding:28px;min-width:0}
.project-meta{display:flex;flex-wrap:wrap;gap:8px 16px;border-bottom:1px solid var(--line);padding-bottom:12px}
.project-body h3,.project-copy h3{font-size:30px;line-height:1.15;letter-spacing:-.03em;text-wrap:balance}
.project.featured .project-copy h3,.project-copy h3.case-title{font-size:38px}
.featured-kicker,.project-tagline{font-size:19px;line-height:1.4;font-weight:650;margin-top:10px;text-wrap:pretty;color:var(--ink)}
.project-description{max-width:62ch;text-wrap:pretty;color:var(--ink)}
.project.featured .project-description{color:var(--ink)}
.project-footer summary,.case-links a,.case-tags>span,.case-verified{color:var(--ink)}
.project-footer>.eyebrow{color:var(--muted)}
.visual-stage{background:var(--surface)}
.visual-stamp{background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:2px;padding:5px 10px}
.visual-caption{background:var(--card);border-top:1px solid var(--line);color:var(--muted)}
.case-study{border:1px solid var(--line);border-radius:3px;background:var(--paper)}
.case-study>summary{display:flex;align-items:center;gap:12px;list-style:none;padding:14px 16px;font-weight:650;font-size:14px}
.case-study>summary::-webkit-details-marker{display:none}
.case-study>summary::after{content:"+";margin-left:auto;font-family:var(--mono);color:var(--green-ink);font-size:16px;line-height:1}
.case-study[open]>summary::after{content:"–"}
.case-study>summary:hover{color:var(--green-ink)}
.case-content{border-top:1px solid var(--line);padding:20px}
.case-section{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}
.case-section:first-of-type{border-top:0;padding-top:0;margin-top:0}
.case-section h4{font:12px/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.case-proof{background:var(--soft-green);border:1px solid var(--green-ink);border-radius:3px;padding:14px 16px}
.case-proof strong{font-size:17px}
.case-tags>span{border:1px solid var(--rule);border-radius:2px;background:var(--card);padding:5px 10px}
.case-links{display:flex;flex-wrap:wrap;gap:8px 22px}
.case-links a{overflow-wrap:break-word}
.filter{min-height:44px;padding:10px 16px;border:1px solid var(--rule);border-radius:3px;background:var(--card);font:13px/1.4 var(--mono);transition:background .15s,color .15s,border-color .15s}
.filter:hover{border-color:var(--ink)}
.filter[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.about-section{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:48px;border-top:1px solid var(--rule);padding-top:48px}
.about-facts{display:grid;gap:0;border-top:1px solid var(--line);margin-top:24px}
.about-facts>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--rule);margin-top:48px}
.principle{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:24px 24px 24px 0;border-bottom:1px solid var(--line)}
.principle .number{font:13px/1.6 var(--mono);color:var(--green-ink)}
.playground{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px;align-items:start;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:28px;margin-top:56px}
.playground .hero-art{border:1px solid var(--line);border-radius:3px;background:var(--surface);overflow:hidden}
.shape-buttons{display:flex;flex-wrap:wrap;gap:8px}
.shape-buttons button{min-height:44px;padding:10px 16px;border:1px solid var(--rule);border-radius:3px;background:var(--paper);font:12px/1.4 var(--mono)}
.shape-buttons button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.motion-toggle{min-width:44px;min-height:44px;border:1px solid var(--rule);border-radius:3px;background:var(--paper)}
.motion-toggle:disabled{opacity:.45;cursor:default}
.contact-section{background:var(--ink);color:var(--paper);border-top:1px solid var(--ink)}
.contact-section .eyebrow{color:color-mix(in srgb,var(--paper) 72%,var(--ink))}
.contact-section h2{color:var(--paper)}
.contact-section h2 em{color:var(--green)}
.contact-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:end}
.contact-actions{display:grid;gap:14px;justify-items:start}
.contact-section .button{background:var(--green);border-color:var(--green);color:#1d2a12}
.contact-section .button:hover{background:color-mix(in srgb,var(--green) 88%,white);color:#1d2a12}
.contact-section .text-link{color:var(--paper)}
.contact-section .copy-profile{min-height:44px;padding:10px 16px;border:1px solid color-mix(in srgb,var(--paper) 45%,transparent);border-radius:3px;background:transparent;color:var(--paper);font:13px/1.4 var(--mono)}
.contact-section .copy-profile:hover{border-color:var(--paper)}
.contact-section a:focus-visible,.contact-section button:focus-visible{outline-color:var(--green)}
.site-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 32px;align-items:start;border-top:1px solid var(--rule);padding-top:24px}
.footer-right{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:flex-end}
.case-dialog,.command-dialog{border:1px solid var(--rule);border-radius:8px;background:var(--paper);color:var(--ink);padding:0;width:min(720px,calc(100% - 32px));box-shadow:0 24px 70px #00000040}
.case-dialog::backdrop,.command-dialog::backdrop{background:color-mix(in srgb,var(--ink) 55%,transparent)}
.dialog-toolbar{position:sticky;top:0;background:var(--paper);border-bottom:1px solid var(--line);padding:14px 20px}
.dialog-inner{padding:24px 24px 28px}
.dialog-share{min-height:44px;padding:10px 16px;border:1px solid var(--rule);border-radius:3px;background:var(--card)}
.dialog-share:hover{border-color:var(--ink)}
.command-search-wrap{border-bottom:1px solid var(--line);padding:14px 16px}
.command-search{font-size:16px;min-height:48px;border:1px solid var(--rule);border-radius:3px;background:var(--card);color:var(--ink);padding:10px 14px;width:100%}
.command-results{display:grid}
.command-result{display:grid;gap:2px;padding:12px 20px;border-top:1px solid var(--line)}
.command-result:first-child{border-top:0}
.command-result:hover{background:var(--surface)}
.command-foot{border-top:1px solid var(--line);padding:10px 20px;color:var(--muted)}
.toast{background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:4px;box-shadow:none}
.visual.has-image-error .visual-stage{border:1px dashed var(--rule)}
.connect-board-shell{border:1px solid var(--rule)}
#connect-columns button{min-width:44px}
#connect-columns button:disabled{cursor:default;opacity:.55}
#play-demo{min-height:44px;border:1px solid var(--rule);border-radius:3px;background:var(--paper);padding:10px 16px;font:13px/1.4 var(--mono)}
#play-demo:hover{border-color:var(--ink)}
.disc.winner{outline:2px solid var(--green-ink);outline-offset:1px}
.reveal{transition:opacity .3s var(--ease),transform .3s var(--ease)}
.js .will-reveal{opacity:0;transform:translateY(8px)}
.js .reveal.visible,.js .will-reveal.visible{opacity:1;transform:none}
.site-notes{border-top:1px solid var(--rule)}
.notes-nav .language-switch{margin-left:auto}
@media(max-width:1050px){.personal-hero .hero-grid{gap:32px}.project-copy{padding:24px}.about-section{gap:32px}}
@media(max-width:960px){.personal-hero .hero-grid{grid-template-columns:minmax(0,1fr)}.projects{grid-template-columns:minmax(0,1fr)}.project.featured{grid-template-columns:minmax(0,1fr)}.project>.visual,.project:nth-of-type(even)>.visual{order:0;border-inline-end:0;border-inline-start:0;border-bottom:1px solid var(--line)}.about-section{grid-template-columns:minmax(0,1fr)}.contact-body{grid-template-columns:minmax(0,1fr)}.playground{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.nav{height:auto;min-height:72px}.work-sampler{grid-template-columns:minmax(0,1fr)}.work-sampler a{padding:12px 0}.projects{gap:28px}.project-copy{padding:22px 20px}.project.featured .project-copy h3,.project-copy h3.case-title{font-size:32px}.principles{grid-template-columns:minmax(0,1fr)}.principle{padding:18px 0}.site-footer{grid-template-columns:minmax(0,1fr)}.footer-right{justify-content:flex-start}.dialog-inner{padding:20px 16px 24px}.about-facts>div{grid-template-columns:minmax(0,1fr);gap:6px}}
@media(prefers-reduced-motion:reduce){.reveal,.will-reveal{opacity:1;transform:none;transition:none}.button:hover{transform:none}.hero-project-image:hover img{transform:none}}
@media print{.site-header,.hero-art,.filters,.nav-tools,.visual,.hero-actions,.contact-actions,.site-footer,.case-dialog,.command-dialog,.toast,.work-sampler,.playground,.command-trigger{display:none!important}.contact-section{background:#fff;color:#000;border:1px solid #999}.contact-section h2,.contact-section .eyebrow{color:#000}.project{break-inside:avoid;border:1px solid #999}.case-study{break-inside:avoid}}
