@charset "UTF-8";
:root{color-scheme:dark;--bg:#05090f;--ink:#dfedf6;--muted:#91a7b7;--accent:#92cde1;--purple:#b2b3d3;--border:#9ebdce24;--radius:27px}
html{height:auto;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;scroll-padding-top:32px}body{min-height:100%;height:auto;overflow-x:hidden;overflow-y:visible;background:#05090f;color:var(--ink)}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.atmosphere{position:fixed;inset:-4%;z-index:-2;background:#05090f url('assets/atmosphere.png') center/cover no-repeat;opacity:.85;pointer-events:none;transform:translate3d(var(--bg-x,0px),var(--bg-y,0px),0) scale(1.03)}.vignette{position:fixed;inset:0;z-index:-1;background:linear-gradient(#05090f80,transparent 40%,#05090f77);pointer-events:none}body{isolation:isolate}.site-shell{position:relative;z-index:0}.header{position:relative;background:transparent}.wordmark,.monogram,.profile-monogram{font-family:Arial,var(--sans)}.monogram{background:#9fcde30d;border:1px solid #a0d1eb40;color:#d3ebf8;font-weight:400}.monogram>span{background:#a5dbea;border-color:#06101a}.header-center{color:#8da7b8}.header-center>span{color:#576f80}.intro{background:linear-gradient(125deg,#132331c7,#0a142076);border:1px solid #a4cde525;box-shadow:inset 0 1px 0 #e7f8ff0a;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.intro-kicker{color:#92aabb}.intro h1{font-weight:400}.outline-word{color:#7e9dad}.intro-description{color:#91a8ba}.intro-location,.intro-location>span{color:#7793a6}.primary-link{background:#c3dbe70d;border:1px solid #9acbe83d;color:#d3e9f7}.primary-link:hover{background:#a5d8ee20}.material-card{border:1px solid #a4cde525;background:#07121a}.material-card>img{opacity:.8}.material-card:after{background:linear-gradient(0deg,#07121af2,transparent 55%)}.material-top{color:#a9c2cf}.material-bottom{color:#d3e4ed}.material-number{color:#93b8c9}.floating-label{background:#172a3b70;border-color:#a7d9f134;box-shadow:0 10px 35px #0003}.floating-label>span{color:#a1bdca}.label-two{padding-left:18px}.now-card,.practice-card{border:1px solid #aacbe21c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.now-card{background:#13253580}.practice-card{background:#25243870}.now-icon{background:#a4d6ec10;color:#a7ccdc}.micro-label{color:#7795a8}.now-card p,.practice-card p{color:#c1d4e1}.practice-year{color:#9eabc9}.practice-lines i{background:#8994b146}.section-heading h2{color:#d4e6f1;font-weight:400}.section-heading>p,.eyebrow{color:#8aa3b5}.eyebrow>span{color:#567388}.section-heading{margin-bottom:24px}.projects{padding-top:92px}
#universe{position:relative;inset:auto;width:100%;height:650px;overflow:hidden;border-radius:28px;border:1px solid #97c8e31c;background:radial-gradient(ellipse at 50% 50%,#18354c18,transparent 75%);isolation:isolate;touch-action:pan-y;cursor:grab;outline:none}#universe:focus-visible{outline:1px solid #96d6f16b;outline-offset:5px}#universe.dragging{cursor:grabbing}#orbits{position:absolute}#card-layer{z-index:1}#universe .artifact{touch-action:none;max-height:none}#universe .view-controls{position:absolute;right:18px;top:20px;transform:none;z-index:5;gap:5px;padding:6px;border-radius:23px;background:#0a182899;backdrop-filter:blur(14px)}#universe .view-controls button{height:30px;width:30px}#universe .view-controls #toggle-motion{margin:0}.artifact-bottom{bottom:21px}.artifact-bottom strong{font-size:21px}.about{padding-top:84px}.about-grid .profile-card{background:linear-gradient(125deg,#162c3b96,#1b263568);border:1px solid #a0cde424;backdrop-filter:blur(12px)}.profile-card h3{color:#c5dbe9;font-weight:400}.profile-card>p{color:#8fa9bb}.about-grid .profile-monogram{color:#739ab94d}.contact{background:linear-gradient(120deg,#173343b3,#202b4566);border:1px solid #a1cce92e;backdrop-filter:blur(12px)}.contact h2{color:#cedee9;font-weight:400}.contact h2>span{color:#a6c9df}.contact .eyebrow{color:#769aae}.email-link{color:#91b5ca}.email-link:hover{color:#d7edfa}.contact-orb{background:#a4d4e90c;border-color:#a0d1e836;color:#a8cbdc;box-shadow:0 15px 35px #0002}.contact-orb:hover{background:#a4d4e922}.contact-decoration{color:#5884a21c}footer,footer>span,footer a>span{color:#608198}footer a{color:#a0bdcf}.dock{background:#0d1e2fce;border-color:#a6cfe42b;box-shadow:0 12px 40px #0006,inset 0 1px 0 #e1f5ff0b}.dock>a{color:#7e9db1}.dock>a:hover{background:#a5cfe813;color:#c7e6f7}.dock>a.active{background:#94cde51b;color:#d2efff}.dock-divider{background:#a5cde225}.toast{background:#142b3d;border:1px solid #9bcee634;color:#d8edf8}.skip-link{background:#102637;color:#d4ebf8}.noscript-note{color:#94b5c9}.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}.dialog-content h2{font-weight:400}dialog .dialog-close{border:1px solid #a0cfe438;background:#05111abc}.return-space{cursor:pointer}.dialog-note{color:#809fb4}.dialog-intro{color:#a3bccc}.dialog-facts p{color:#8daabe}.dialog-eyebrow{color:#8cb4cc}
@media(max-width:1050px){#universe{height:600px}.artifact{width:270px;height:211px}.artifact-bottom strong{font-size:21px}}
@media(max-width:760px){.intro h1{font-weight:400}.projects{padding-top:60px}.about{padding-top:58px}#universe{height:510px;border-radius:23px}#universe .view-controls{right:9px;top:12px;padding:4px;gap:3px;border-radius:20px}#universe .view-controls button{width:26px;height:26px}#universe .view-controls button .icon{width:15px;height:15px}#universe .view-controls>span{font-size:12px}.label-two{padding-left:11px}.about-grid .profile-card{padding:28px}.artifact{width:clamp(140px,39vw,225px);height:178px;padding:13px;border-radius:12px}.artifact:after{border-radius:12px}.artifact-image{border-radius:11px}.artifact-top{font-size:12px;letter-spacing:0;gap:5px}.artifact-arrow{width:20px;height:20px}.artifact-arrow .icon{width:12px;height:12px}.artifact-bottom{left:13px;right:10px;bottom:16px}.artifact-bottom strong{font-size:17px;letter-spacing:0;line-height:1.5}.image-note{font-size:12px;right:12px;top:45px;letter-spacing:1px}.seed-glyph{font-size:40px;top:48px;letter-spacing:6px}.ai-glyph{width:135px;height:90px;top:49%}.ai-glyph>span{font-size:50px;letter-spacing:4px}.glyph-line{width:120px;height:57px}.line-two{width:88px;height:75px}.line-three{width:113px;height:44px}.binary-glyph{top:54px;left:16%;right:16%;gap:11px}.binary-bracket{font-size:48px}.binary-rows{gap:8px}.binary-language{display:none}.dialog-visual{height:145px}.dialog-content{padding:0 24px 26px}.dialog-content h2{font-size:26px}.dialog-facts{grid-template-columns:1fr}.dialog-intro{font-size:16px}.dialog-facts p{font-size:14px}.dialog-close{right:15px;top:15px}.dock>a{font-size:12px}}
@media(max-width:430px){#universe{height:490px}.artifact{width:clamp(125px,39vw,175px);height:168px}.artifact-bottom strong{font-size:16px}.artifact-top{font-size:12px}.artifact-arrow{display:none}.seed-glyph{font-size:36px;top:45px}.binary-glyph{top:48px}.binary-bracket{font-size:40px}.ai-glyph>span{font-size:45px}.image-note{display:none}.contact-orb{width:72px;height:72px}}
@media(prefers-reduced-motion:reduce){.atmosphere{transform:none!important}.artifact{will-change:auto}}
@media(max-width:760px){#universe .view-controls{left:50%;right:auto;top:auto;bottom:10px;transform:translateX(-50%);flex-direction:row;border-radius:18px;gap:6px;padding:5px 9px}#universe .view-controls .control-divider{width:1px;height:16px;margin:0 3px}#universe .view-controls button{width:28px;height:28px}}
/* Let the introduction and project space share the page atmosphere. */
.intro-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;align-items:center;padding-top:24px}.intro-grid .intro{grid-column:span 7;padding:32px 0;min-height:480px;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible}.intro .intro-kicker{font-size:13px;letter-spacing:1px;margin:0 0 25px}.intro h1{font-size:clamp(42px,4.8vw,67px);line-height:1.4;letter-spacing:-1.5px;margin:0 0 27px}.intro-description{font-size:17px;line-height:1.95;max-width:490px;margin:0;color:#98afbf}.intro-bottom{margin-top:0;padding-top:30px}.intro-grid .material-card{grid-column:span 5;grid-row:auto;height:510px;min-height:0;border:0;border-radius:0;background:transparent;overflow:hidden;mask-image:radial-gradient(ellipse 65% 62% at 53% 48%,#000 28%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 65% 62% at 53% 48%,#000 28%,transparent 80%)}.material-card>img{object-fit:cover;object-position:60% center;opacity:.85}.material-card:after{display:none}.projects{padding-top:74px}#universe{border:0;border-radius:0;background:none;box-shadow:none}#universe:focus-visible{outline:none}#universe:focus-visible .view-controls{outline:1px solid #96d6f16b;outline-offset:4px}.about{display:grid;grid-template-columns:5fr 7fr;gap:70px;padding:75px 0 15px;align-items:start}.about-heading .eyebrow{margin-bottom:22px}.about-heading h2{font-weight:400;font-size:35px;line-height:1.65;letter-spacing:-.5px;margin:0;color:#ccdfed}.about-story{padding-top:33px}.about-story>p{font-size:17px;line-height:2.05;color:#98b0c1;margin:0 0 23px}.about-story>.about-closing{font-size:14px;line-height:1.9;color:#678da5;margin:31px 0 0;padding-left:18px;border-left:1px solid #8cbed34a}
@media(max-width:1050px){.intro-grid{gap:20px}.intro-grid .intro{min-height:420px}.intro h1{font-size:49px}.intro-grid .material-card{height:460px}.intro-description{font-size:16px}.about{gap:40px}.about-heading h2{font-size:30px}.about-story>p{font-size:16px}}
@media(max-width:760px){.intro-grid{position:relative;display:block;padding:12px 0 0}.intro-grid .intro{position:relative;z-index:1;padding:24px 7px 32px;min-height:410px;pointer-events:none}.intro a{pointer-events:auto}.intro .intro-kicker{font-size:12px;margin-bottom:24px}.intro h1{font-size:clamp(38px,8vw,54px);line-height:1.45;letter-spacing:-1px;margin-bottom:24px}.intro-description{font-size:16px;line-height:1.95;max-width:440px;text-shadow:0 1px 10px #05090f}.intro-bottom{padding-top:25px}.intro-grid .material-card{position:absolute;right:-28px;top:20px;width:65%;height:340px;opacity:.28;z-index:0;pointer-events:none;mask-image:radial-gradient(ellipse at center,#000,transparent 71%);-webkit-mask-image:radial-gradient(ellipse at center,#000,transparent 71%)}.projects{padding-top:48px}#universe{border:0;border-radius:0;background:none}.about{display:block;padding:52px 7px 0}.about-heading .eyebrow{margin-bottom:16px}.about-heading h2{font-size:29px;line-height:1.6}.about-story{padding-top:24px}.about-story>p{font-size:16px;line-height:2;margin-bottom:22px}.about-story>.about-closing{font-size:14px;margin-top:25px}.contact{margin-top:52px}}
/* Keep floating content visible beyond its layout container. */
html,body,body *{-webkit-user-select:none;user-select:none}img{-webkit-user-drag:none}#universe,#card-layer{overflow:visible;clip-path:none;mask-image:none;-webkit-mask-image:none}.projects{position:relative;z-index:2}.intro-grid,.about,.contact{position:relative;z-index:1}.intro-grid .material-card{overflow:visible;mask-image:none;-webkit-mask-image:none;clip-path:none}.intro-grid .material-card>img{position:absolute;left:-22%;top:-15%;width:145%;height:130%;max-width:none;object-fit:contain;object-position:center;mask-image:radial-gradient(ellipse 51% 50% at 50% 50%,#000 22%,#000b 43%,transparent 77%);-webkit-mask-image:radial-gradient(ellipse 51% 50% at 50% 50%,#000 22%,#000b 43%,transparent 77%);pointer-events:none}.intro-grid .intro{position:relative;z-index:1}#card-layer .artifact{overflow:visible}@media(max-width:760px){.intro-grid .material-card{position:absolute;z-index:0}.intro-grid .material-card>img{left:-15%;top:-12%;width:140%;height:130%}}

/* One layout on every device: mobile browsers render the 1280px desktop canvas. */
html,body{min-width:1180px}.site-shell{min-width:1180px}

/* Downloadable tools live in a calm software shelf beneath the moving work. */
.tool-library{padding:82px 0 12px;position:relative;z-index:1}.tool-library .section-heading{margin-bottom:27px}.tool-release{min-height:310px;display:grid;grid-template-columns:320px 1fr 235px;align-items:stretch;border:1px solid #9dcbe428;background:linear-gradient(112deg,#122838a8,#0a15208c 58%,#18243c70);box-shadow:inset 0 1px 0 #dcf5ff0b,0 30px 90px #0003;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden;position:relative}.tool-release:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,#80b9d807);pointer-events:none}.tool-mark{position:relative;display:flex;align-items:center;justify-content:center;gap:15px;border-right:1px solid #95c3dc1c;color:#79aebf65;font-family:monospace}.tool-mark span{font-size:82px;font-weight:100}.tool-mark strong{font-size:53px;font-weight:200;letter-spacing:6px;color:#9ec9d78c}.tool-mark i{position:absolute;width:190px;height:190px;border:1px solid #83c3d926;border-radius:50%;box-shadow:0 0 70px #74c7e00b}.tool-mark i:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#a8d9e5;box-shadow:0 0 15px #8dd7ed;right:16px;top:48px}.tool-copy{padding:52px 54px;position:relative;z-index:1}.tool-meta{display:flex;gap:10px;margin:0 0 25px}.tool-meta span{font-size:12px;letter-spacing:1.2px;color:#88a8ba;border:1px solid #9cc4da25;border-radius:99px;padding:7px 10px;background:#92cbe607}.tool-copy h3{font-size:37px;font-weight:400;letter-spacing:-.8px;color:#d2e7f1;margin:0 0 17px}.tool-copy>p:not(.tool-meta){font-size:16px;line-height:1.9;color:#8fa9bb;margin:0;max-width:480px}.tool-open{margin-top:30px;padding:12px 18px;border:1px solid #9bcde438;border-radius:99px;background:#91ccea0b;color:#b9dbea;display:inline-flex;align-items:center;gap:25px}.tool-open:hover{background:#9bd8f11b;color:#e2f4fb}.tool-open .icon{width:16px;height:16px}.tool-facts{margin:0;padding:40px 33px;border-left:1px solid #95c3dc1c;display:flex;flex-direction:column;justify-content:center;gap:0;position:relative;z-index:1}.tool-facts>div{padding:18px 0;border-bottom:1px solid #91bad01b}.tool-facts>div:last-child{border-bottom:0}.tool-facts dt{font-size:12px;letter-spacing:1px;color:#5e8298;margin-bottom:7px}.tool-facts dd{font-size:15px;color:#a9c4d3;margin:0}.dialog-visual video{display:block;width:100%;height:100%;object-fit:cover;background:#05090f}

/* A contained translucent archive keeps a growing tool collection off the main page flow. */
.tool-vault{border:1px solid #9fc9dd24;background:rgba(7,16,26,.75);box-shadow:inset 0 1px 0 #e2f7ff0b,0 30px 80px #0003;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);overflow:hidden}.vault-bar{height:49px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #9fc9dd20;font-family:Arial,sans-serif;font-size:12px;letter-spacing:1.6px;color:#62879c}.vault-bar span:last-child{color:#88aabd}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);max-height:390px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#6f9aae35 transparent}.tool-grid::-webkit-scrollbar{width:7px}.tool-grid::-webkit-scrollbar-thumb{background:#6f9aae35}.tool-item,.tool-slot{min-height:190px;position:relative;border:0;border-right:1px solid #9fc9dd18;border-bottom:1px solid #9fc9dd18;background:transparent}.tool-grid>*:nth-child(3n){border-right:0}.tool-item{padding:23px;text-align:left;color:#bcd4e2;transition:background .25s ease}.tool-item:hover{background:#8ec8e20b}.tool-number,.tool-slot>span{position:absolute;left:20px;top:18px;font:12px Arial,sans-serif;letter-spacing:1px;color:#56798e}.tool-symbol{position:absolute;left:22px;top:61px;font:27px monospace;letter-spacing:2px;color:#81b7c99c}.tool-info{position:absolute;left:22px;right:55px;bottom:21px;display:flex;flex-direction:column;gap:7px}.tool-info strong{font-size:17px;font-weight:400;letter-spacing:.2px;color:#c3dce8}.tool-info small{font-size:12px;letter-spacing:.4px;color:#66899e}.tool-arrow{position:absolute;right:19px;bottom:24px;width:28px;height:28px;border:1px solid #9bcde430;border-radius:50%;display:grid;place-items:center;color:#85adbf}.tool-arrow .icon{width:13px;height:13px}.tool-slot{display:grid;place-items:center;color:#496b7e}.tool-slot i{width:26px;height:26px;position:relative;opacity:.42}.tool-slot i:before,.tool-slot i:after{content:"";position:absolute;background:#6f98ab}.tool-slot i:before{width:26px;height:1px;left:0;top:12px}.tool-slot i:after{width:1px;height:26px;left:12px;top:0}.tool-slot small{position:absolute;bottom:22px;font-size:12px;letter-spacing:1px;color:#405f72}.dialog-visual video{display:block;width:100%;height:100%;object-fit:cover;background:#05090f}
