@font-face{font-family:'Work Sans';src:url('fonts/ElUAY9q6T0Ayx4zWzW63VFtXRa8TVwTICgirnJhmVJw.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--bg:#f6f8fc;--ink:#17243c;--accent:#2853a4;--muted:#526179;--line:#d6dfeb;--surface:#eef2fa;--sans:'Work Sans',Arial,sans-serif}.site-shell{max-width:1480px;margin:auto;display:grid;grid-template-columns:255px 1fr;padding:0 40px}.site-header{padding:44px 28px 32px 0;border-right:1px solid var(--line)}.identity{display:flex;flex-direction:column;align-items:start;font-size:23px;gap:20px}.identity img{width:104px;height:104px;object-fit:cover;border-radius:50%}.identity-sub{font-size:13px;line-height:1.8;margin:10px 0 32px;color:var(--muted)}.site-header nav{flex-direction:column;align-items:stretch;gap:5px}.site-header nav a{padding:12px 14px;border-left:2px solid transparent}.site-header nav a[aria-current]{background:#e7edfa;border-left-color:var(--accent)}.rail-contact{font-size:12px;color:var(--muted);margin-top:50px;line-height:1.8}.rail-contact a{display:inline-block;margin-right:18px;font-size:13px}.main-column{padding-left:50px}.hero{padding-top:48px}h1{font-size:52px;font-weight:650;letter-spacing:-2.2px}h2{font-weight:650;font-size:29px}h3{font-size:21px;font-weight:650}.hero-lead{font-size:19px;line-height:1.6;max-width:800px}.button{border-radius:5px}.research-visual{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;background:white;border:1px solid var(--line);padding:22px;margin-top:40px}.research-visual img{width:100%;aspect-ratio:1.4;object-fit:contain}.research-visual>div{padding:20px 0}.research-visual h2{font-size:28px;max-width:290px}.research-visual p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:18px}.research-visual figcaption{font-size:11px}.topic{padding:24px;background:white;border:1px solid var(--line);border-top:3px solid var(--accent)}.topics{gap:18px}.topic-number{font-family:ui-monospace,monospace;font-size:12px}.topic p{font-size:14px}.topic h3{font-size:19px}.selected-layout{grid-template-columns:124px 1fr;gap:32px}.book-cover img{width:124px}.publication h3{font-size:22px}.app-callout{border-radius:6px;background:white}.app-callout>.button{font-size:12px}.app-callout{gap:20px}.app-callout h2{font-size:26px}.page-hero{padding:48px 0}.page-hero h1{font-size:52px}.publication-list .publication{padding:26px 24px;border:1px solid var(--line);background:white;margin-bottom:14px}.publication-list .publication h3{max-width:780px}.app-hero{display:grid;grid-template-columns:1.45fr 1fr;gap:35px;align-items:end}.app-hero .hero-lead{font-size:29px;line-height:1.2;font-weight:650;letter-spacing:-.5px}.app-hero p:not(.eyebrow):not(.hero-lead){font-size:16px}.app-summary{background:var(--ink);color:white;padding:28px;margin-bottom:28px;border-radius:6px}.app-summary .eyebrow{color:#b7ccf4}.app-summary ul{list-style:none;padding:0;margin:0}.app-summary li{font-size:15px;border-top:1px solid #48546a;padding:15px 0}.product-screenshot{padding:20px;background:white;border:1px solid var(--line);border-radius:6px}.product-screenshot img{border:0}.features{gap:22px}.features h3{font-size:21px}.features p:not(.eyebrow){font-size:15px}.context{gap:28px}.context h2{font-size:25px}.site-footer .footer-links{max-width:220px}.app-details h2{font-size:25px}.app-end{border-top:1px solid var(--line)}
@media(max-width:1100px){.site-shell{padding:0 24px;grid-template-columns:210px 1fr}.main-column{padding-left:32px}.site-header{padding-right:20px}.research-visual{grid-template-columns:1fr}.research-visual>div{padding:0}.topics{grid-template-columns:1fr}.topic-number{margin-bottom:10px}.app-callout{flex-wrap:wrap}.app-callout>.button{margin-left:92px}.app-hero{grid-template-columns:1fr}.app-summary{display:none}}
@media(max-width:760px){.site-shell{display:block;padding:0 22px}.site-header{padding:20px 0 12px;border-right:0;border-bottom:1px solid var(--line)}.identity{flex-direction:row;align-items:center;gap:12px}.identity img{width:44px;height:44px}.identity-sub{margin:5px 0 10px;font-size:12px}.site-header nav{flex-direction:row;gap:4px;align-items:center}.site-header nav a{padding:8px 6px;border-left:0;border-bottom:2px solid transparent;min-height:40px;font-size:12px}.site-header nav a[aria-current]{border-bottom-color:var(--accent)}.rail-contact{display:none}.main-column{padding-left:0}.hero,.page-hero{padding:32px 0}.hero h1,.page-hero h1{font-size:39px;letter-spacing:-1.4px}.hero-lead{font-size:17px;margin-top:20px}.research-visual{padding:16px;margin-top:30px;gap:22px}.research-visual img{aspect-ratio:1.35}.research-visual h2{font-size:27px}.research-visual .quiet{display:none}.topics{gap:14px}.topic{padding:20px}.app-callout>.button{margin:0}.publication h3{font-size:21px}.publication-list .publication{padding:22px 18px}.app-hero .hero-lead{font-size:27px}.product-screenshot{padding:12px}.site-footer .footer-links{max-width:none}}
@media(max-width:760px){.hero h1 br{display:none}.site-header nav a{min-height:44px}}
.agent-integration{padding-top:34px}.integration-intro{max-width:850px;color:var(--muted);margin-bottom:30px}.integration-note{font-size:14px;color:var(--muted);margin:25px 0 0}.talk-content,.book-content{padding:48px 0 60px}.talk-content h1,.book-content>h1{margin-bottom:36px}.embedded-talk{width:100%;aspect-ratio:16/9;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#000}.embedded-talk iframe{display:block;width:100%;height:100%;border:0}.talk-actions{margin-top:18px}.book-content h2{margin:30px 0 18px}.book-content p{max-width:960px}.mgbook-cover{float:right;width:210px;max-width:34%;margin:0 0 24px 34px}.mgbook-cover img{width:100%;border:1px solid var(--line);border-radius:3px}.mgbook-cover p{font-size:12px;line-height:1.6;margin-top:12px;color:var(--muted)}.book-content:after{content:'';display:block;clear:both}
@media(max-width:760px){.talk-content,.book-content{padding:32px 0 44px}.talk-content h1,.book-content>h1{font-size:39px;letter-spacing:-1.4px;margin-bottom:26px}.mgbook-cover{float:none;width:180px;max-width:100%;margin:0 0 26px}.agent-integration .features{gap:28px}.integration-intro{font-size:16px}.site-header nav{gap:2px 8px}}

/* Complete Markdown pages retain their existing content under the selected shell. */
.content-page{padding:48px 0 60px;overflow-wrap:anywhere}
.content-page>h1{margin-bottom:36px;font-size:52px;letter-spacing:-2.2px}
.content-page>h2{margin:40px 0 22px;padding-top:32px;border-top:1px solid var(--line)}
.content-page>h3,.content-page h2+h3{margin:26px 0 18px}
.content-page ul,.content-page ol{padding-left:24px;margin:0 0 24px}
.content-page li{margin-bottom:9px}
.content-page li ul{margin-top:10px;margin-bottom:18px}
.content-page blockquote{margin:20px 0;padding:20px 24px;border-left:3px solid var(--accent);background:white;color:var(--muted)}
.content-page blockquote p:last-child{margin-bottom:0}
.content-page .publication-list{margin-top:24px}
.content-page .publication-list ul,.content-page .publication-list ol{list-style:none;padding:0}
.content-page .publication-list li{padding:24px;border:1px solid var(--line);background:white;margin-bottom:14px}
.content-page .publication-list h3{margin:26px 0 18px}
.repo-two-col,.cat-fourier-two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;margin:24px 0 40px}
.repo-card{padding:24px;border:1px solid var(--line);background:white;border-radius:6px}
.repo-card p:last-child{margin-bottom:0}
.repo-preview,.cat-fourier-preview{padding:18px;background:white;border:1px solid var(--line)}
.repo-preview img,.cat-fourier-preview img{width:100%;object-fit:contain}
.cat-fourier-preview img{max-height:360px}
.home-page .additional{max-width:850px}
.site-header nav a{min-height:44px}
@media(max-width:760px){
 .content-page{padding:32px 0 44px}
 .content-page>h1{font-size:39px;letter-spacing:-1.4px;margin-bottom:26px}
 .content-page>h2{margin-top:32px;padding-top:26px}
 .repo-two-col,.cat-fourier-two-col{grid-template-columns:1fr;gap:20px}
 .content-page .publication-list li{padding:20px}
 .content-page blockquote{padding:18px}
 .selected-layout{grid-template-columns:1fr}
}

/* Shared figures keep their original labels and open at full resolution. */
.research-visual.bsam-highlight{grid-template-columns:1fr;gap:24px}
.research-visual .bsam-highlight-intro{padding:0;max-width:780px}
.research-visual .bsam-highlight-intro h2{max-width:700px}
.research-visual .bsam-highlight-intro p:not(.eyebrow){margin-top:18px;margin-bottom:18px}
.figure-gallery{min-width:0}
.gallery-figures{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.figure-gallery .gallery-overview{grid-column:1/-1}
.figure-gallery figure{min-width:0}
.figure-gallery figure>a{display:block;padding:8px;background:white;border:1px solid var(--line)}
.research-visual .figure-gallery img,.figure-gallery img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.research-visual .figure-gallery figcaption,.figure-gallery figcaption{font-size:12px}
.bsam-repo .figure-gallery{margin-top:26px}
.figure-gallery [hidden]{display:none!important}
.figure-gallery[data-enhanced]{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px 16px;align-items:start;width:100%;max-width:720px;margin-inline:auto}
.research-visual .figure-gallery[data-enhanced]{padding:0}
.figure-gallery[data-enhanced] .gallery-figures{grid-column:2;grid-row:1;display:block;min-width:0;touch-action:pan-y pinch-zoom}
.figure-gallery[data-enhanced] .gallery-figures figure>a{position:relative;aspect-ratio:8/5;display:block;padding:0}
.research-visual .figure-gallery[data-enhanced] .gallery-figures img,.figure-gallery[data-enhanced] .gallery-figures img{position:absolute;inset:8px;height:calc(100% - 16px);width:calc(100% - 16px);object-fit:contain}
.figure-gallery[data-enhanced] figcaption{min-height:var(--gallery-caption-height,0px)}
.gallery-controls{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px}
.gallery-controls button{min-height:44px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--accent);font:inherit;font-size:22px;cursor:pointer}
.gallery-controls .gallery-pause{grid-column:1/-1;justify-self:center;padding:0 14px;font-size:12px}
.gallery-pause[aria-disabled="true"]{color:var(--muted);cursor:default}
.gallery-status{color:var(--muted);font-size:13px;text-align:center;line-height:1.5;min-height:44px;display:flex;align-items:center;justify-content:center}
.gallery-thumbnails{grid-column:1;grid-row:1;display:grid;grid-template-columns:1fr;gap:8px}
.gallery-thumbnails button{min-width:0;min-height:44px;padding:8px;border:2px solid var(--line);border-radius:4px;background:white;color:var(--muted);font:inherit;cursor:pointer;text-align:left}
.gallery-thumbnails button[aria-pressed="true"]{border-color:var(--accent);background:var(--surface);color:var(--accent)}
.research-visual .gallery-thumbnails img,.gallery-thumbnails img{width:100%;height:auto;aspect-ratio:8/5;object-fit:contain;background:white}
.gallery-thumbnails span{display:block;font-size:12px;line-height:1.4;margin-top:8px;min-height:2.8em}
.figure-gallery button:hover{border-color:var(--accent)}
.figure-gallery button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.gallery-caption-measure{position:absolute;visibility:hidden;pointer-events:none;--gallery-caption-height:0px}
.publication-preview{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}
.publication-thumbnail{min-width:0}
.publication-thumbnail>a{display:flex;align-items:center;justify-content:center;height:180px;padding:12px;border:1px solid var(--line);background:white}
.publication-thumbnail img{max-width:100%;width:auto;height:auto;max-height:154px;object-fit:contain}
.publication-thumbnail figcaption{font-size:12px}
.publication-copy{min-width:0}
@media(min-width:761px) and (max-width:1100px){.publication-preview{grid-template-columns:200px minmax(0,1fr);gap:24px}}
@media(max-width:760px){
 .gallery-figures{grid-template-columns:1fr;gap:22px}
 .research-visual.bsam-highlight{gap:22px}
 .figure-gallery figure>a{padding:6px}
 .figure-gallery[data-enhanced]{grid-template-columns:56px minmax(0,1fr);column-gap:10px}
 .research-visual .figure-gallery[data-enhanced] .gallery-figures img,.figure-gallery[data-enhanced] .gallery-figures img{inset:6px;height:calc(100% - 12px);width:calc(100% - 12px)}
 .gallery-thumbnails button{padding:4px;min-height:56px;display:flex;align-items:center}
 .gallery-thumbnails span{display:none}
 .gallery-status{font-size:11px;line-height:1.4}
 .publication-preview{grid-template-columns:1fr;gap:18px}
 .publication-thumbnail>a{height:190px}
 .publication-thumbnail img{max-height:164px}
}

/* Keep the floating book cover clear of the Synopsis rule. */
@media(min-width:761px){.book-content>.mgbook-cover{margin-top:16px}}
/* Five official promotional images share the research gallery controls. */
.app-promotion-gallery{margin:42px auto}
.app-promotion-gallery .figure-gallery[data-enhanced]{max-width:none}
.app-promotion-gallery .gallery-thumbnails button{min-height:80px;padding:6px}
.app-promotion-gallery .gallery-thumbnails img{height:40px}
.app-promotion-gallery .gallery-thumbnails span{min-height:0;margin-top:4px;line-height:1.3}
@media(max-width:760px){.app-promotion-gallery .gallery-thumbnails button{height:44px;min-height:44px;padding:4px}.app-promotion-gallery .gallery-thumbnails img{height:auto}}

/* The desktop rail stays in its column and scrolls when the viewport is short. */
@media(min-width:761px){
 .site-header{position:sticky;top:0;align-self:start;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scroll-padding-block:16px;overflow-wrap:anywhere}
 .site-header a:focus-visible{outline-offset:-3px}
}

.home-page .hero>#research-interests{padding-bottom:0}
