:root{--ink:#09121b;--bg:#09121b;--bg2:#0d1a25;--raised:#142332;--edge:#2b3b48;--white:#edf3f5;--muted:#a1b3bf;--light:#dce5e9;--deep:#071016;--robot:#c6dc99;--vision:#8dbdeb;--systems:#e0b4b1;--hardware:#98d3be;--accent:#c6dc99;--shell:1328px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--white);font:16px/1.62 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:#c6dc99;color:#09121b}.shell{width:min(var(--shell),calc(100% - 92px));margin:0 auto}.skip-link{position:absolute;top:-200px;left:20px;background:#fff;color:#000;padding:10px;z-index:100}.skip-link:focus{top:10px}.meta,.section-tag,.field-num,.tiny-kicker,.tile-num,.tile-mini,.paper-type,.paper-date,.career-row>span,.eyebrow-extended,.hero-topline,.hero-pre,.map-top,.map-bottom,.node-index,.arch-label,.arch-foot,.entry-n,.entry-link,.field-stack,.field-link,.section-tag,.case-kicker,.case-back,.case-end,.case-image>span,.portrait-panel>span,.community-photo figcaption,.event-strip>span,.research-links>span,.footer-bottom,.site-footer .meta{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.045em}h1,h2,h3{font-family:'Space Grotesk','DM Sans',sans-serif;line-height:1.12;letter-spacing:-.055em}h2{font-size:clamp(36px,4vw,62px)}h3{letter-spacing:-.035em}p{color:var(--muted)}.site-header{height:78px;position:sticky;top:0;z-index:30;background:rgba(9,18,27,.94);border-bottom:1px solid #263947;backdrop-filter:blur(15px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px}.brand-glyph{font:700 25px/1 'Space Grotesk',sans-serif;letter-spacing:-.13em}.brand-glyph span{color:var(--accent);padding:0 2px}.brand-name{font:700 10px/1.04 'Space Grotesk',sans-serif;letter-spacing:.07em}.site-nav{display:flex;align-items:center;gap:39px}.site-nav a{font-size:13px;color:#b8c6cf;transition:color .15s}.site-nav a:hover,.site-nav a:focus-visible{color:#fff}.header-cta{border:1px solid #445965;padding:11px 15px;font-size:12px;font-weight:700;white-space:nowrap}.header-cta span{margin-left:13px;color:var(--accent)}.header-cta:hover{border-color:var(--accent)}.nav-toggle,.small-nav{display:none}.hero{border-bottom:1px solid var(--edge);background:radial-gradient(circle at 87% 16%,rgba(91,130,143,.13),transparent 37%),var(--bg)}.hero-topline{padding:25px 0 28px;display:flex;justify-content:space-between;font-size:10px;color:#91a9b5;border-bottom:1px solid #2c414d}.live-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:9px}.hero-grid{padding:70px 0 69px;display:grid;grid-template-columns:minmax(0,1.14fr) minmax(395px,.86fr);align-items:center;gap:72px}.hero-pre{font-size:11px;color:#c8d8e0;font-weight:500}.hero-main h1{font-size:clamp(53px,5.45vw,89px);margin:22px 0 24px;max-width:800px;color:#eff5f7;font-weight:600;letter-spacing:-.068em;line-height:1.058}.hero-main h1 span{color:#9bd6de}.hero-main h1 span:nth-child(2){color:#d4c69a}.hero-main h1 span:nth-child(3){color:#c6dc99}.hero-main>p{font-size:19px;max-width:535px;color:#b8c9d2;line-height:1.68}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:34px}.button-primary{background:#d8e8ea;color:#0c1720;padding:15px 19px;display:inline-flex;gap:37px;align-items:center;font-weight:800;font-size:13px}.button-primary:hover{background:#fff}.button-primary span{font-size:19px;font-weight:500}.button-text{font-size:13px;font-weight:700;border-bottom:1px solid #81949f;padding-bottom:7px}.button-text:hover{color:var(--accent)}.hero-map{position:relative;border:1px solid #364956;padding:20px;background:linear-gradient(145deg,rgba(28,45,59,.84),rgba(14,29,40,.85));box-shadow:inset 0 0 0 1px rgba(230,240,245,.02);overflow:hidden}.hero-map:before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(201,226,236,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(201,226,236,.035) 1px,transparent 1px);background-size:34px 34px}.map-top,.map-bottom{position:relative;display:flex;justify-content:space-between;gap:10px;color:#a0b6c2;font-size:9px}.map-heading{position:relative;font:500 27px/1.17 'Space Grotesk',sans-serif;letter-spacing:-.04em;margin:25px 0}.map-heading em{font-style:normal;color:#9fcdd6}.map-nodes{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px}.map-node{border:1px solid #3d515d;background:rgba(5,16,24,.82);padding:17px 15px 15px;min-height:137px;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;transition:background .15s,border-color .15s}.map-node:hover{background:#1d3140;border-color:#aacdd1}.node-index{grid-column:1/-1;font-size:10px;color:#aab9c1}.node-name{align-self:end;font:600 17px/1.2 'Space Grotesk',sans-serif;letter-spacing:-.035em}.node-arrow{align-self:end;justify-self:end;opacity:.7}.m-robot{border-top:3px solid var(--robot)}.m-vision{border-top:3px solid var(--vision)}.m-systems{border-top:3px solid var(--systems)}.m-hardware{border-top:3px solid var(--hardware)}.map-bottom{margin-top:22px}.hero-bottom{padding:19px 0;display:flex;align-items:center;gap:24px;border-top:1px solid #2c414d;font:500 10px 'IBM Plex Mono',monospace;color:#94aab5;letter-spacing:.045em}.hero-bottom>.orgs{display:flex;gap:17px;flex:1;flex-wrap:wrap;align-items:center;color:#d9e6eb;font:500 13px 'DM Sans',sans-serif;letter-spacing:0}.orgs i{font-style:normal;color:#4a6571}.hero-bottom>a{font-size:22px;color:var(--accent)}
.disciplines{padding:108px 0 109px;background:#f0f3f3;color:#111f2b}.section-intro{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:44px}.section-intro>div{max-width:710px}.section-tag{font-size:11px;font-weight:600;color:#7d959f}.section-intro h2{margin-top:15px}.section-intro h2 span{color:#6a7e8a}.section-intro>p{max-width:370px;font-size:16px;color:#5b6e7b;line-height:1.66}.domain-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #d0d9dc}.domain-tile{min-height:338px;padding:24px 22px;display:flex;flex-direction:column;background:#fff;border-right:1px solid #d0d9dc;position:relative;transition:background .15s}.domain-tile:last-child{border-right:none}.domain-tile:hover{background:#f8faf9}.domain-tile>div{display:flex;justify-content:space-between}.tile-num{font-size:11px;color:#6a8592}.tile-icon{font-size:24px;color:#3f5563}.domain-tile:before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--field)}.dt-robot{--field:#b8cd77}.dt-vision{--field:#89b3e8}.dt-systems{--field:#d5a6a9}.dt-hardware{--field:#8cbfae}.domain-tile h3{font-size:25px;margin:49px 0 14px}.domain-tile p{font-size:14px;color:#576a75;line-height:1.6}.tile-mini{font-size:9px;color:#677e88;line-height:1.5;margin-top:auto;padding-top:20px}
.work-begin{background:#0b1620;padding:93px 0 69px;border-bottom:1px solid var(--edge)}.eyebrow-extended{font-size:10px;color:#91a4b2;display:flex;justify-content:space-between;border-bottom:1px solid #2c414d;padding-bottom:16px}.work-begin h2{margin:28px 0 13px}.work-begin h2 em{font-style:normal;color:#bad8df}.work-begin p{font-size:17px;max-width:700px}.field-section{background:#0d1924;border-bottom:1px solid #283d49;scroll-margin-top:78px}.field-section:nth-of-type(2n){background:#0f1d29}.field-grid{display:grid;grid-template-columns:minmax(280px,.86fr) minmax(0,1.55fr);gap:64px;padding:100px 0 105px}.field-aside{align-self:start}.field-num{font-size:11px;color:var(--field);font-weight:600}.color-rule{width:44px;height:4px;background:var(--field);margin:33px 0 38px}.field-aside h2{font-size:clamp(38px,3.6vw,57px);margin-bottom:26px}.field-aside h2 em{font-style:normal;color:var(--field)}.field-aside>p{font-size:17px;line-height:1.75;max-width:430px}.field-stack{display:flex;flex-wrap:wrap;gap:7px;margin-top:35px}.field-stack span{border:1px solid #435864;padding:6px 9px;font-size:10px;color:#b6c6ce;letter-spacing:0}.field-link{display:inline-flex;gap:22px;margin-top:40px;border-bottom:1px solid #4d6875;padding-bottom:10px;font-size:11px;color:var(--field);font-weight:600}.field-link:hover{border-color:var(--field)}.robot-field{--field:var(--robot)}.vision-field{--field:var(--vision)}.systems-field{--field:var(--systems)}.hardware-field{--field:var(--hardware)}.field-main{min-width:0}.field-hero-image{position:relative;border:1px solid #394e5b;background:#192a35;overflow:hidden}.field-hero-image img{width:100%;height:315px;object-fit:cover;object-position:center 43%}.field-hero-image>span{display:block;padding:11px 14px;background:#182833;font:10px 'IBM Plex Mono',monospace;color:#b0c6ce;letter-spacing:.035em}.entry-list{margin-top:18px}.field-entry{border-top:1px solid #354953;display:grid;grid-template-columns:57px minmax(0,1fr) 46px;gap:17px;padding:24px 0;align-items:start}.field-entry:last-child{border-bottom:1px solid #354953}.field-entry[href]:hover h3{color:var(--field)}.entry-n{color:var(--field);font-size:10px;margin-top:5px}.field-entry h3{font-size:20px;line-height:1.26;letter-spacing:-.035em;margin-bottom:8px}.field-entry p{font-size:14px;line-height:1.67;max-width:580px}.entry-link{color:var(--field);font-size:22px;text-align:right}.entry-link.muted{font-size:10px;color:#8fa7b1;white-space:nowrap;line-height:2.2}.vision-showcase{display:grid;grid-template-columns:47% 53%;border:1px solid #3b515e;min-height:310px;background:#182a37}.vision-showcase img{height:100%;width:100%;object-fit:cover;object-position:left center;background:#e9eff0}.vision-showcase>div{padding:30px 27px}.tiny-kicker{font-size:10px;color:var(--field)}.vision-showcase h3{font-size:25px;line-height:1.25;margin:18px 0 14px}.vision-showcase p{font-size:14px;line-height:1.66}.vision-showcase a{display:inline-block;margin-top:19px;color:var(--vision);font-size:13px;border-bottom:1px solid var(--vision);padding-bottom:4px}.architecture{background:#142634;border:1px solid #3c5260;padding:25px 23px;position:relative;overflow:hidden}.architecture:after{content:'';position:absolute;width:300px;height:300px;border:1px solid rgba(240,245,248,.05);border-radius:50%;top:-150px;right:-200px;pointer-events:none}.arch-label{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#aab8c2}.arch-flow{display:flex;align-items:center;gap:9px;padding:55px 0 42px}.arch-flow>div{min-width:0;flex:1;min-height:144px;padding:17px 13px;background:#091822;border:1px solid #49606a}.arch-flow>div:nth-of-type(2){border-top:3px solid var(--systems)}.arch-flow>div small{display:block;color:var(--systems);font:10px 'IBM Plex Mono',monospace}.arch-flow>div strong{display:block;margin:21px 0 4px;font:600 16px 'Space Grotesk',sans-serif;letter-spacing:-.025em}.arch-flow>div span{font-size:11px;color:#a9bac4}.arch-flow>b{color:var(--systems);font-size:20px;font-weight:400}.arch-foot{font-size:10px;color:#aab7c1;border-top:1px solid #405662;padding-top:14px;display:flex;gap:14px;flex-wrap:wrap}.arch-foot span{color:var(--systems)}.hardware-feature{display:grid;grid-template-columns:42% 58%;background:#192b37;border:1px solid #3a4d58}.hardware-feature img{width:100%;height:295px;object-fit:cover;object-position:center}.hardware-feature>div{padding:28px 26px}.hardware-feature h3{font-size:24px;line-height:1.3;margin:18px 0 12px}.hardware-feature p{font-size:14px;line-height:1.69}
.research-section{background:#edf2f4;color:#14222c;padding:110px 0 105px}.research-section .section-tag{color:#657d88}.research-section .section-intro h2 span{color:#687f8a}.research-section .section-intro p{color:#5e737c}.papers{border-top:1px solid #c0cdd3}.paper{display:grid;grid-template-columns:130px minmax(0,1fr) 56px;gap:30px;align-items:start;padding:31px 0;border-bottom:1px solid #c0cdd3}.paper-date{display:flex;gap:19px;font-size:17px;font-weight:600;color:#1e394a}.paper-date i{font-size:10px;font-style:normal;color:#8aa0a9}.paper-type{font-size:10px;color:#6f8390;font-weight:600}.paper h3{font-size:clamp(21px,2vw,27px);max-width:920px;line-height:1.34;margin:9px 0 9px;letter-spacing:-.03em}.paper p{font-size:13px;color:#5f737f}.paper-go{font-size:26px;color:#334e5d;text-align:right}.paper[href]:hover h3{color:#366c87}.research-links{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:33px}.research-links>span{font-size:10px;color:#68808d}.research-links>div{display:flex;gap:28px;flex-wrap:wrap}.research-links a{font-size:13px;font-weight:600;color:#214657}
.background-section{padding:112px 0;background:#111e29;border-bottom:1px solid #2e4550}.bg-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:90px}.bg-copy h2{margin:19px 0 22px;font-size:clamp(40px,3.8vw,58px)}.bg-copy h2 span{color:#accbd8}.bg-copy>p{max-width:475px;font-size:17px;line-height:1.75}.portrait-panel{position:relative;margin-top:60px;max-width:420px;border:1px solid #36515d}.portrait-panel img{width:100%;height:355px;object-fit:cover;object-position:center 40%}.portrait-panel>span{display:block;padding:12px 15px;background:#1d2f3b;font-size:10px;color:#bcd0d9}.timeline-label{font:600 11px 'IBM Plex Mono',monospace;letter-spacing:.07em;padding-bottom:16px;border-bottom:1px solid #4e6570;color:#bdd1dd}.career-row{display:grid;grid-template-columns:102px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid #2f4550}.career-row>span{font-size:10px;color:#98b0bc;padding-top:5px}.career-row strong{font:600 18px/1.4 'Space Grotesk',sans-serif;letter-spacing:-.03em}.career-row small{display:block;color:#a0b4bf;font-size:13px;margin-top:2px;line-height:1.65}.career-extra{font-size:13px;color:#8da7b3;margin-top:15px;line-height:1.6}.edu-label{margin-top:45px}
.community-section{background:#0d1924;padding:110px 0}.community-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px}.community-grid h2{margin:19px 0 23px}.community-grid h2 span{color:#b9cdd6}.community-grid p{max-width:610px;font-size:16px;line-height:1.76;margin-bottom:15px}.community-facts{display:flex;gap:38px;flex-wrap:wrap;border-top:1px solid #3f505d;margin-top:29px;padding-top:22px}.community-facts>span{font:600 22px 'Space Grotesk',sans-serif;line-height:1.1}.community-facts small{display:block;font:9px/1.5 'IBM Plex Mono',monospace;color:#9cafba;margin-top:8px;max-width:130px}.inline-link{display:inline-block;font-size:13px;color:var(--accent);font-weight:700;border-bottom:1px solid var(--accent);padding-bottom:7px;margin-top:34px}.community-photo{background:#1e3441;align-self:start;border:1px solid #344e5a}.community-photo img{width:100%;height:520px;object-fit:cover;object-position:center}.community-photo figcaption{padding:13px 15px;font-size:10px;color:#afc2ca}.event-strip{display:grid;grid-template-columns:240px minmax(0,1fr);gap:55px;padding:60px 0 0;margin-top:65px;border-top:1px solid #41535e}.event-strip>span{font-size:10px;color:#a2bac4}.event-strip>div{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;row-gap:27px}.event-strip>div>a,.event-strip>div>span{font-size:14px;font-weight:700;color:#dce8eb}.event-strip small{display:block;font:400 12px/1.6 'DM Sans',sans-serif;color:#94a9b5;margin-top:5px}
.contact-section{background:#b5d7d8;color:#0d202c;padding:90px 0}.contact-inner{display:flex;justify-content:space-between;gap:40px;align-items:center}.contact-section .section-tag{color:#4d6c76}.contact-inner h2{margin:19px 0;font-size:clamp(41px,4.3vw,70px)}.contact-inner h2 span{color:#416777}.contact-inner p{max-width:520px;color:#375966}.contact-inner>a{min-width:200px;display:flex;justify-content:space-between;gap:36px;background:#102632;color:#edf5f6;padding:20px 24px;font-weight:700}.contact-inner>a:hover{background:#244b59}.site-footer{background:#080f16;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px}.footer-brand{font:700 37px 'Space Grotesk',sans-serif;letter-spacing:-.1em}.footer-brand span{color:var(--accent)}.footer-grid p{font-size:13px;color:#96acb7;margin-top:16px;line-height:1.7}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:9px}.site-footer .meta{font-size:10px;color:#748d99;margin-bottom:15px}.footer-grid a:not(.footer-brand){font-size:13px}.footer-grid a:hover{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #283b47;margin-top:75px;padding-top:18px;font-size:10px;color:#8198a5}
/* Detail pages use the same language, with a readable research-article column. */
.case-hero{padding:56px 0 70px;background:#0d1b27;border-bottom:1px solid #38515c}.case-back{font-size:11px;color:#b5cad3}.case-kicker{display:flex;gap:20px;justify-content:space-between;margin-top:80px;color:var(--accent);font-size:11px}.case-hero h1{font-size:clamp(51px,5.8vw,84px);margin:20px 0 25px;max-width:1000px}.case-hero p{max-width:760px;font-size:20px;line-height:1.65}.case-image{padding-top:45px;padding-bottom:45px}.case-image img{width:100%;height:min(54vw,480px);object-fit:cover;object-position:center;background:#1a3544;border:1px solid #405864}.case-image>span{display:block;margin-top:11px;font-size:10px;color:#8ca5b1}.case-layout{display:grid;grid-template-columns:258px minmax(0,780px);gap:90px;padding-top:32px;padding-bottom:90px}.case-aside{border-top:2px solid var(--accent);align-self:start;padding-top:20px;position:sticky;top:105px}.case-aside>.meta{display:block;margin-bottom:21px;font-size:10px;color:var(--accent)}.case-aside>div{padding:13px 0;border-bottom:1px solid #344a57}.case-aside>div span{display:block;font:10px 'IBM Plex Mono',monospace;color:#91aabb;letter-spacing:.035em}.case-aside>div strong{display:block;font-size:14px;margin-top:8px;font-weight:600}.case-aside>a{display:block;font-size:12px;padding-top:18px;color:#bed4dd}.case-article{font-size:17px;line-height:1.82;min-width:0}.case-article h2{font-size:clamp(29px,3vw,42px);margin:12px 0 22px}.case-article h3{font-size:25px;margin:44px 0 14px}.case-article p{color:#b4c4cb;margin:0 0 23px}.case-article ul{color:#b4c4cb;padding-left:23px;margin:0 0 22px}.case-article li{margin-bottom:9px}.case-article a{color:#bee1e1;text-decoration:underline;text-underline-offset:4px}.case-article figure{margin:45px 0}.case-article figure img,.case-article figure video{width:100%;height:auto;max-height:560px;object-fit:contain;background:#1b2c37}.case-article figcaption{font:11px/1.7 'IBM Plex Mono',monospace;color:#93adba;margin-top:11px}.aside-note{background:#1b303a;border-left:3px solid var(--accent);color:#c5d5db;padding:24px;margin:35px 0;font-size:14px;line-height:1.7}.project-links{display:flex;gap:15px;flex-wrap:wrap;margin:36px 0}.project-links a{border:1px solid #4e6975;padding:12px 14px;font-size:13px;text-decoration:none}.case-end{border-top:1px solid #405662;padding-top:24px;padding-bottom:62px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#bbd2db}
@media(max-width:1100px){.shell{width:min(var(--shell),calc(100% - 58px))}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(350px,.85fr);gap:32px}.hero-main h1{font-size:clamp(48px,5.9vw,72px)}.hero-main>p{font-size:17px}.domain-tile{padding:22px 15px}.domain-tile h3{font-size:22px}.field-grid{gap:37px;grid-template-columns:minmax(250px,.85fr) minmax(0,1.35fr)}.bg-grid{gap:40px}.community-grid{gap:38px}}
@media(max-width:850px){.site-nav{gap:19px}.hero-grid{display:block}.hero-main h1{font-size:clamp(52px,9vw,80px)}.hero-main>p{max-width:690px}.hero-map{max-width:690px;margin-top:58px}.domain-grid{grid-template-columns:1fr 1fr}.domain-tile:nth-child(2){border-right:none}.domain-tile:nth-child(-n+2){border-bottom:1px solid #d0d9dc}.domain-tile{min-height:290px}.domain-tile h3{margin-top:33px}.field-grid{grid-template-columns:1fr;gap:47px}.field-aside h2{max-width:650px}.field-aside>p{max-width:670px}.bg-grid{grid-template-columns:1fr}.portrait-panel{display:none}.community-grid{grid-template-columns:1fr}.community-photo img{height:420px}.case-layout{grid-template-columns:190px minmax(0,1fr);gap:35px}}
@media(max-width:760px){html{scroll-padding-top:70px}.shell{width:calc(100% - 38px)}.site-header{height:68px}.site-nav,.header-cta{display:none}.nav-toggle{width:39px;height:39px;border:1px solid #425966;background:transparent;display:flex;justify-content:center;flex-direction:column;gap:6px;align-items:center}.nav-toggle span{height:1px;width:17px;background:white}.small-nav:not([hidden]){display:flex;flex-direction:column;padding:10px 19px 22px;border-bottom:1px solid #435662;background:#0a1520;box-shadow:0 15px 25px rgba(0,0,0,.4)}.small-nav a{padding:12px;border-bottom:1px solid #263c49;font-size:14px}.hero-topline{font-size:9px;gap:10px;padding:18px 0}.hero-topline span:last-child{display:none}.hero-grid{padding:52px 0 50px}.hero-main h1{font-size:clamp(47px,12.7vw,68px);line-height:1.08;margin:20px 0 21px;letter-spacing:-.068em}.hero-pre{font-size:9px}.hero-main>p{font-size:16px}.hero-actions{gap:20px}.button-primary{font-size:12px;padding:13px 14px;gap:20px}.button-text{font-size:12px}.hero-map{margin-top:46px;padding:15px}.map-heading{margin:19px 0;font-size:25px}.map-node{min-height:112px;padding:12px}.node-name{font-size:14px}.node-index{font-size:9px}.map-top,.map-bottom{font-size:8px}.hero-bottom{align-items:start;padding:18px 0;gap:8px}.hero-bottom>span{font-size:9px;min-width:85px}.hero-bottom .orgs{gap:6px 9px;font-size:11px}.hero-bottom>a{display:none}.disciplines{padding:70px 0}.section-intro{display:block;margin-bottom:31px}.section-intro h2{font-size:clamp(34px,9.7vw,50px);margin-bottom:15px}.section-intro>p{font-size:14px;max-width:650px}.domain-grid{grid-template-columns:1fr 1fr}.domain-tile{min-height:278px;padding:17px 13px}.domain-tile h3{font-size:20px;margin:30px 0 9px}.domain-tile p{font-size:12px}.tile-mini{font-size:8px}.work-begin{padding:68px 0 48px}.work-begin h2{font-size:43px}.work-begin p{font-size:15px}.field-grid{padding:67px 0 70px;gap:40px}.field-aside h2{font-size:clamp(39px,9.3vw,54px);margin-bottom:15px}.field-aside>p{font-size:15px}.color-rule{margin:24px 0 28px}.field-stack{margin-top:24px}.field-link{margin-top:25px}.field-hero-image img{height:255px}.field-entry{grid-template-columns:38px minmax(0,1fr) 27px;gap:9px;padding:20px 0}.field-entry h3{font-size:18px}.field-entry p{font-size:13px}.entry-link.muted{font-size:9px;white-space:normal}.vision-showcase{grid-template-columns:1fr}.vision-showcase img{height:220px;object-fit:cover}.vision-showcase>div{padding:22px}.vision-showcase h3{font-size:25px}.arch-flow{padding:35px 0 24px}.arch-flow>div{min-height:119px;padding:12px 8px}.arch-flow>div strong{font-size:13px;margin:16px 0 3px}.arch-flow>div span{font-size:9px}.arch-flow>b{font-size:15px}.arch-label{font-size:8px}.hardware-feature{grid-template-columns:1fr}.hardware-feature img{height:235px;object-fit:cover}.hardware-feature>div{padding:23px}.research-section{padding:70px 0}.paper{grid-template-columns:58px minmax(0,1fr) 24px;gap:10px;padding:25px 0}.paper-date{display:block;font-size:13px}.paper-date i{display:none}.paper-type{font-size:9px}.paper h3{font-size:19px}.paper p{font-size:12px}.paper-go{font-size:20px}.research-links{align-items:start;flex-direction:column}.background-section,.community-section{padding:75px 0}.bg-copy h2{font-size:43px}.bg-copy>p{font-size:15px}.career-row{grid-template-columns:90px 1fr}.community-grid h2{font-size:43px}.community-grid p{font-size:15px}.community-facts{gap:23px}.community-facts>span{font-size:18px}.community-photo img{height:290px}.event-strip{grid-template-columns:1fr;gap:20px;margin-top:45px;padding-top:40px}.event-strip>div{grid-template-columns:1fr;gap:23px}.contact-section{padding:75px 0}.contact-inner{display:block}.contact-inner h2{font-size:48px}.contact-inner>a{margin-top:28px;width:max-content;max-width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{margin-top:60px;font-size:9px}.case-hero{padding:36px 0 47px}.case-kicker{margin-top:46px;font-size:9px}.case-hero h1{font-size:clamp(43px,10vw,60px)}.case-hero p{font-size:16px}.case-image{padding-top:22px;padding-bottom:24px}.case-image img{height:300px}.case-layout{grid-template-columns:1fr;padding-bottom:48px;gap:35px}.case-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:10px}.case-aside>.meta{grid-column:1/-1}.case-aside>div{padding:7px 0}.case-aside>a{display:none}.case-article{font-size:15px}.case-article h2{font-size:32px}.case-end{flex-direction:column}}
@media(max-width:400px){.hero-main h1{font-size:46px}.map-node{min-height:111px}.node-name{font-size:13px}.domain-tile{min-height:296px}.domain-tile h3{font-size:18px}.hero-bottom{display:block}.hero-bottom .orgs{margin-top:10px}.vision-showcase img{height:170px}.research-links>div{gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Secondary work is a compact index, not another visual gallery. */
.other-work{padding:85px 0 95px;background:#101d28;border-bottom:1px solid #354a55}.other-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:31px}.other-heading h2{font-size:clamp(30px,3.2vw,46px);margin-top:15px}.other-heading h2 span{color:#a9c4cf}.other-heading>p{max-width:365px;font-size:14px}.other-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #384d59;border-top:1px solid #384d59}.other-grid>a,.other-grid>div{padding:24px 24px 32px;border-right:1px solid #384d59;border-bottom:1px solid #384d59;min-height:196px;position:relative}.other-grid>a:hover{background:#1b2e3b}.other-grid>*>span{font:10px 'IBM Plex Mono',monospace;letter-spacing:.05em;color:#8eabb8}.other-grid h3{font-size:22px;margin:23px 0 10px}.other-grid p{font-size:13px;line-height:1.7}.other-grid b{position:absolute;top:19px;right:20px;color:var(--accent);font-size:17px;font-weight:400}
@media(max-width:850px){.other-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){html,body{overflow-x:clip}.other-work{padding:65px 0}.other-heading{display:block}.other-heading>p{margin-top:15px}.other-grid{grid-template-columns:1fr}.other-grid>a,.other-grid>div{min-height:0;padding:21px 20px 25px}.other-grid h3{margin:16px 0 6px}}

/* --------------------------------------------------------------------------
   VERSION 03 / The field guide
   A small amount of movement is used for orientation, not decoration.
   -------------------------------------------------------------------------- */

:root { --ease: cubic-bezier(.2,.7,.2,1); }

.page-progress { position:fixed;inset:0 0 auto;z-index:80;height:3px;pointer-events:none;background:transparent }
.page-progress span {display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;will-change:transform;background:linear-gradient(90deg,var(--robot) 0 25%,var(--vision) 25% 50%,var(--systems) 50% 75%,var(--hardware) 75% 100%)}

/* The sequential labels echo engineering schematics, but never keep moving. */
.hero-map { position:relative;overflow:hidden }
.hero-map::after {content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background:linear-gradient(90deg,transparent,rgba(221,239,255,.08),transparent);transform:translateX(-110%);animation:schematic-scan 1000ms ease-out 350ms both}
@keyframes schematic-scan {to {transform:translateX(110%);}}
.map-node,.domain-tile {transition:transform 180ms var(--ease),background 180ms ease,border-color 180ms ease,box-shadow 180ms ease}
.map-node:hover,.map-node:focus-visible { transform:translateY(-3px);background:#172b37;box-shadow:0 7px 22px rgba(0,0,0,.15)}
.domain-tile:hover,.domain-tile:focus-visible{transform:translateY(-4px);box-shadow:0 13px 26px rgba(13,30,37,.09)}
.field-entry,.index-row,.chapter-tab {transition:background 170ms ease,color 170ms ease,border-color 170ms ease}
.field-entry:hover,.field-entry:focus-visible{background:rgba(153,205,227,.045)}

/* Chapter navigator remains in view only while reading the four disciplines. */
.field-chapter {position:relative}
.chapter-nav {position:sticky;top:78px;z-index:25;background:rgba(13,25,36,.97);backdrop-filter:blur(15px);border-top:1px solid #263c48;border-bottom:1px solid #3d5360}
.chapter-nav-inner {display:flex;align-items:stretch;min-height:57px;gap:5px}
.chapter-label,.chapter-count {display:flex;align-items:center;white-space:nowrap;font:10px/1.4 'IBM Plex Mono',monospace;letter-spacing:.065em;color:#8097a7}
.chapter-label {margin-right:27px}.chapter-label span{color:#506b7d;margin-left:6px}
.chapter-count {margin-left:auto;min-width:50px;justify-content:end;color:#b2c5cc}
.chapter-tab {display:flex;align-items:center;gap:11px;position:relative;padding:0 17px;white-space:nowrap;font:12px/1.2 'DM Sans',sans-serif;color:#9eb1c1}
.chapter-tab span{font:10px 'IBM Plex Mono',monospace;color:#758b9c}
.chapter-tab:hover,.chapter-tab:focus-visible {color:#fff;background:#20313f}
.chapter-tab::after {content:'';position:absolute;inset:auto 16px 0;height:2px;transform:scaleX(0);transform-origin:left;transition:transform 210ms var(--ease);background:var(--robot)}
.chapter-tab[data-target='vision']::after{background:var(--vision)}
.chapter-tab[data-target='ai-systems']::after{background:var(--systems)}
.chapter-tab[data-target='hardware']::after{background:var(--hardware)}
.chapter-tab[aria-current='location']{color:var(--white);background:rgba(255,255,255,.035)}
.chapter-tab[aria-current='location']::after{transform:scaleX(1)}
.field-section {scroll-margin-top:135px}
.field-section .color-rule{position:relative;overflow:hidden}
.field-section .color-rule::after{content:'';position:absolute;inset:0;background:#ffffff69;transform:scaleX(0);transform-origin:left;transition:transform 800ms var(--ease)}
.field-section.is-in-view .color-rule::after{transform:scaleX(1)}

/* Compact project index: an information architecture, not a card gallery. */
.index-section{padding:108px 0 115px;border-top:1px solid #354b58;border-bottom:1px solid #354b58;background:radial-gradient(ellipse at 90% 0%,#1b303e 0%,#101d28 58%,#0d1b26 100%)}
.index-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}
.index-heading h2{font-size:clamp(38px,4vw,60px);margin-top:18px;max-width:820px}
.index-heading h2 span{color:#97b1c4}
.index-heading p{max-width:355px;font-size:15px;line-height:1.72}
.index-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:12px;border-bottom:1px solid #3d5360}
.filter-button{border:1px solid #395362;background:transparent;color:#bbccd5;cursor:pointer;padding:10px 15px;font:12px 'DM Sans',sans-serif;transition:color 130ms,border-color 130ms,background 130ms}
.filter-button span{margin-left:8px;font:10px 'IBM Plex Mono',monospace;color:#6e8898}
.filter-button:hover{border-color:#a7bcca;color:#fff}
.filter-button[aria-pressed='true']{background:#c6dc99;color:#0b1821;border-color:#c6dc99;font-weight:700}
.filter-button[aria-pressed='true'] span{color:#325040}
.index-result{margin:16px 0 10px;font:10px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.06em;color:#8aa2b3;min-height:18px}
.project-table{border-top:1px solid #314653}
.index-row{display:grid;grid-template-columns:75px minmax(0,1fr) 210px 33px;align-items:center;gap:15px;min-height:96px;border-bottom:1px solid #314653;padding:18px 10px;color:#e2edf1}
.index-row:not([hidden]):hover,.index-row:not([hidden]):focus-visible {background:#1a303e}
.index-row[hidden] {display:none!important}
.index-code{font:10px 'IBM Plex Mono',monospace;letter-spacing:.07em;color:#9dd8c3}
.index-row[data-category='robotics'] .index-code{color:var(--robot)}
.index-row[data-category='vision'] .index-code{color:var(--vision)}
.index-row[data-category='systems'] .index-code{color:var(--systems)}
.index-row strong{display:block;font:600 clamp(16px,1.6vw,20px)/1.23 'Space Grotesk',sans-serif;letter-spacing:-.025em}
.index-row small{display:block;color:#91adbc;margin-top:7px;font:12px/1.5 'DM Sans',sans-serif}
.index-kind{font:11px 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.02em;color:#a0b6c4}
.index-arrow{font-size:20px;text-align:right;color:var(--robot);transition:transform 160ms var(--ease)}
.index-row:hover .index-arrow{transform:translate(3px,-3px)}

/* Focus on personal engineering decisions at the start of case studies. */
.case-duo{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid #3a5561;background:#3a5561;margin:1px 0 49px}
.case-duo>div{padding:24px;background:#152836}
.case-duo span,.case-callout span{font:10px 'IBM Plex Mono',monospace;letter-spacing:.07em;color:#abc7d5}
.case-duo p{font-size:15px;line-height:1.6;color:#ebf2f4;margin:12px 0 0}
.case-callout{padding:28px 28px 26px;background:linear-gradient(128deg,#152a39,#1d3c48);border-left:3px solid var(--accent);margin:0 0 47px}
.case-callout p{font:500 clamp(19px,2.1vw,25px)/1.45 'Space Grotesk',sans-serif;color:#e3edf0;letter-spacing:-.024em;margin:11px 0 0}
.case-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#3b5360;margin:36px 0 44px;border:1px solid #3b5360}
.case-facts>div{background:#132531;padding:19px 15px}
.case-facts span{display:block;color:#a6c5d1;font:9px 'IBM Plex Mono',monospace;margin-bottom:11px;letter-spacing:.05em}
.case-facts strong{font:600 15px/1.4 'Space Grotesk',sans-serif;color:#edf4f5;letter-spacing:-.025em}
.next-story{border-top:1px solid #324d59;padding:31px 0 36px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.next-story>span{font:10px 'IBM Plex Mono',monospace;color:#819da9;letter-spacing:.07em}
.next-story>a{font:600 clamp(15px,1.4vw,21px) 'Space Grotesk',sans-serif;color:#ecf4f5;max-width:650px;text-align:right}
.next-story b{color:var(--robot);font-weight:400;margin-left:10px}
.next-story>a:hover{text-decoration:underline;text-underline-offset:6px}
.community-detail{display:inline-flex;margin:22px 0 25px;color:#cdf0e5}

/* Gentle first-load motion. No continuously moving backgrounds, no scroll theatrics. */
@keyframes appear-up {from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
.hero-main h1{animation:appear-up 600ms var(--ease) 60ms both}
.hero-main>p{animation:appear-up 650ms var(--ease) 170ms both}
.hero-actions{animation:appear-up 650ms var(--ease) 270ms both}
.hero-map{animation:appear-up 750ms var(--ease) 300ms both}

:where(a,button):focus-visible {outline:2px solid #d9eea9;outline-offset:4px}

@media(max-width:1120px){
.chapter-label{margin-right:5px}.chapter-tab{padding:0 13px;gap:7px}.chapter-count{display:none}
.index-heading{gap:30px}
}
@media(max-width:1000px){
.site-nav,.header-cta{display:none}
.nav-toggle{width:39px;height:39px;border:1px solid #425966;background:transparent;display:flex;justify-content:center;flex-direction:column;gap:6px;align-items:center;cursor:pointer}
.nav-toggle span{height:1px;width:17px;background:white}
.small-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;padding:10px 29px 22px;border-bottom:1px solid #435662;background:#0a1520;box-shadow:0 15px 25px rgba(0,0,0,.4)}
.small-nav a{padding:12px;border-bottom:1px solid #263c49;font-size:14px}
.chapter-label{display:none}.chapter-tab{flex:1;justify-content:center;min-width:0}
}
@media(max-width:760px){
html{scroll-padding-top:130px}
.chapter-nav{top:68px}
.chapter-nav-inner{min-height:49px;gap:0;width:100%;padding:0 8px;justify-content:space-around}
.chapter-tab{flex:1;font-size:11px;padding:0 6px;text-align:center;gap:5px;justify-content:center}
.chapter-tab span{font-size:9px}
.chapter-tab::after{left:5px;right:5px}
.field-section{scroll-margin-top:130px}
.index-section{padding:75px 0 83px}
.index-heading{display:block;margin-bottom:26px}
.index-heading h2{font-size:clamp(36px,9.7vw,48px)}
.index-heading p{margin-top:18px;font-size:14px}
.index-toolbar{gap:7px}
.filter-button{padding:9px 11px;font-size:11px}
.index-row{grid-template-columns:42px minmax(0,1fr) 21px;gap:10px;min-height:89px;padding:16px 1px}
.index-row strong{font-size:17px}.index-row small{font-size:11px}.index-kind{display:none}.index-arrow{font-size:17px}
.case-duo{grid-template-columns:1fr;margin-bottom:37px}.case-duo>div{padding:18px}
.case-facts{grid-template-columns:1fr}
.case-facts>div{padding:14px}
.next-story{display:block}.next-story>a{display:block;text-align:left;margin-top:13px}
}
@media(max-width:390px){
.chapter-tab{font-size:10px;padding:0 3px;gap:3px}.chapter-tab span{font-size:8px}
.filter-button{padding:8px 9px}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.hero-main h1,.hero-main>p,.hero-actions,.hero-map,.hero-map::after{animation:none!important}
.map-node,.domain-tile,.field-entry,.index-row,.filter-button,.chapter-tab,.index-arrow,.field-section .color-rule::after{transition:none!important}
}

/* A small personal note in the biography: a human detail without adding a new section. */
.bg-copy .human-note {margin:17px 0 0;max-width:520px;color:#d2dddf;font-size:15px;line-height:1.7;border-left:2px solid var(--robot);padding:3px 0 3px 17px;}
/* Readable inline link for open-source package in a case study. */
.case-article p a {text-decoration:underline;text-underline-offset:4px;text-decoration-color:#a2beaf;color:#eff5f5;}
.case-article p a:hover {color:var(--robot);text-decoration-color:currentColor;}
