@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin.woff2) format("woff2")}
:root{
 --ink:#242426;--muted:#75757b;--card:#f6f6f6;--line:#eaeaec;--radius:26px;
 --column:360px;--gutter:max(26px,calc(50vw - 180px));--card-w:420px;--card-h:460px;--phone-preview-h:342px;
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;
 color:var(--ink);background:#fff;font-synthesis:none;-webkit-font-smoothing:antialiased;color-scheme:light;
}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a{color:inherit;text-decoration:none}button{color:inherit;border:0;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #007aff;outline-offset:5px}
img{max-width:100%;display:block}p,h1,h2,h3,figure{margin:0}::selection{background:#dfeeff}
.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}
.skip-link{position:fixed;top:12px;left:12px;padding:12px;background:white;transform:translateY(-160%);z-index:100}.skip-link:focus{transform:none}



.intro{padding:216px 24px 0 var(--gutter)}.intro-inner{max-width:var(--column);font-size:16px;line-height:1.6;letter-spacing:-.18px}.intro h1{font-size:16px;font-weight:550;line-height:1.5;color:#272729}.intro p{margin-top:24px;color:#68686d}.intro .role{color:var(--muted);margin-top:18px}
.work{margin-top:130px}.project-rail{display:flex;gap:20px;overflow:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--gutter);padding:6px max(26px,calc(50vw - 240px)) 25px var(--gutter);scrollbar-width:none;cursor:grab;overscroll-behavior-x:contain}
.project-rail::-webkit-scrollbar{display:none}.project-rail.dragging{scroll-snap-type:none;cursor:grabbing}.project-card{width:var(--card-w);flex:none;scroll-snap-align:start;user-select:none}.project-card>a{display:block;border-radius:var(--radius);outline-offset:7px}
.card-visual{width:100%;height:var(--card-h);position:relative;background:var(--card);border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center;isolation:isolate;box-shadow:inset 0 0 0 1px #00000002;transition:box-shadow .35s ease}
.card-visual>.inset{--object-scale:1;--object-lift:0px;--hover-scale:1;flex-shrink:0;transform:translate3d(0,var(--object-lift),0) scale(calc(var(--object-scale) * var(--hover-scale)));transform-origin:center;transition:transform .55s cubic-bezier(.18,.8,.22,1)}
.blueprints-image{width:220px;height:220px;object-fit:contain;filter:drop-shadow(0 19px 19px #28519714)}
.wallet-image{width:280px;height:350px;object-fit:contain}.messages-image{width:166px;height:342px;object-fit:contain;filter:drop-shadow(0 13px 12px #0000000b)}
.project-lockup{display:flex;align-items:center;gap:12px;margin:19px 2px 0}.lockup-icon{width:36px;height:36px;object-fit:contain;flex:none;border-radius:9px}.lockup-symbol{background:#fff;box-shadow:inset 0 0 0 1px #0000000c;display:grid;place-items:center;color:#777}.lockup-symbol img{width:21px;height:21px;object-fit:contain;opacity:.58}.lockup-symbol--messages{background:linear-gradient(#62e779,#17bd3c)}.lockup-symbol--messages img{filter:invert(1);opacity:1}.community-lockup{background:#eee url('/assets/media/community.png') center/auto 38px no-repeat;box-shadow:inset 0 0 0 1px #0000000a}.community-image{width:100%;height:100%;object-fit:cover;object-position:center}
.lockup-copy{font-size:15px;line-height:1.55;letter-spacing:-.16px}.lockup-copy strong{font-weight:500;display:block;color:#323234}.lockup-copy p{color:var(--muted);font-size:14px}
.explorations{margin-top:105px}.section-heading{padding-left:var(--gutter);font-size:16px;font-weight:500;margin-bottom:24px;letter-spacing:-.15px}
.card-visual>.activity-miniatures{--object-scale:.78}.activity-miniatures{width:412px;display:flex;flex-direction:column;align-items:center;gap:24px;pointer-events:none}.activity-miniatures>div{width:412px}.activity-miniatures .activity-scale{margin:0}

.widget-fit{position:relative}.widget-native{position:relative;width:var(--w);height:var(--h);transform:scale(var(--scale,1));transform-origin:top left}

.writing{width:min(566px,calc(100vw - var(--gutter) - 26px));margin:105px 0 0 var(--gutter)}.writing h2{font-size:16px;font-weight:500;letter-spacing:-.15px;margin-bottom:20px;scroll-margin-top:44px}.writing-list{list-style:none;margin:0;padding:0}.writing-list li{border-bottom:1px solid var(--line)}.writing-list li:last-child{border-bottom:0}
.writing-list a{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px 0;border-radius:4px;transition:opacity .2s}.writing-row-copy{display:flex;flex-direction:column;gap:7px;min-width:0}.writing-title{font-size:16px;line-height:1.45;letter-spacing:-.25px}.writing-description{font-size:14px;line-height:1.55;color:var(--muted);text-wrap:pretty}.writing-time{display:flex;align-items:center;gap:15px;color:#75757b;font-size:12px;white-space:nowrap;flex-shrink:0}.writing-time>span{font-size:17px;color:#919194;transition:transform .2s,color .2s}
.site-footer{width:var(--column);margin:112px auto 72px;display:flex;justify-content:space-between;gap:20px;font-size:13px;line-height:1.7;color:var(--muted)}.site-footer p:first-child{color:#57575c}.site-footer a{text-decoration:underline;text-decoration-color:#bdbdc0;text-underline-offset:4px}
.event-mini{width:318px;height:245px;background:#fff;border-radius:9px;box-shadow:0 12px 28px #0000000d,0 1px 3px #00000006;overflow:hidden;color:#222;pointer-events:none}.event-mini-nav{height:26px;display:flex;align-items:center;padding:0 12px;justify-content:space-between;border-bottom:1px solid #efefef;font-size:6px}.event-mini-brand{font-size:8px;font-weight:600}.event-mini-body{padding:25px 22px;text-align:center}.event-mini-eyebrow{font-size:7px;letter-spacing:.4px;color:#666;margin-bottom:10px}.event-mini h3{font-size:25px;line-height:1.03;letter-spacing:-1px;font-weight:650;max-width:220px;margin:auto}.event-mini p{font-size:7px;line-height:1.5;color:#7c7c7c;max-width:210px;margin:12px auto}.event-mini-button{display:inline-block;background:#007aff;color:#fff;padding:4px 9px;border-radius:12px;font-size:6px}.event-mini-footer{margin-top:18px;display:flex;justify-content:center;gap:24px;font-size:6px;color:#7b7b7b}.event-mini-footer b{display:block;color:#333;font-weight:500;margin-bottom:3px}
.article{max-width:614px;padding:0 24px;margin:70px auto 120px}.back{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;background:#f7f7f7;border-radius:14px;color:#777;font-size:15px;line-height:1.35;transition:background .2s,color .2s}.back:hover{background:#ededee;color:#333}.article header{margin-top:70px}.article h1{font-size:19px;line-height:1.45;font-weight:550;letter-spacing:-.3px}.article .lead{margin-top:34px;font-size:20px;line-height:1.55;letter-spacing:-.28px;text-wrap:pretty;color:#3f3f43}.article .article-lockup{display:flex;gap:13px;align-items:center}.article .article-lockup img,.article .article-lockup .lockup-icon{width:44px;height:44px}.article .article-subtitle{font-size:14px;line-height:1.5;color:var(--muted);margin-top:2px}.article section{margin-top:56px}.article h2{font-size:17px;font-weight:550;margin-bottom:17px;line-height:1.5;letter-spacing:-.2px}.article .prose{font-size:17px;line-height:1.72;letter-spacing:-.15px;color:#58585e}.article .prose p+p{margin-top:23px}.article-figure{margin-top:64px}.article-media{width:100%;min-height:390px;background:var(--card);display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:18px}.article-media .blueprints-image{width:235px;height:235px}.article-media .wallet-image{height:400px;width:320px;margin:25px}.article-media .messages-image{height:400px;width:auto;margin:28px}.article-media .event-mini{width:430px;height:330px;transform:scale(1.02);transform-origin:center}.article-media .event-mini-body{padding:36px 22px}.article-media .event-mini h3{font-size:34px;max-width:300px}.article-media .event-mini p{font-size:10px;max-width:290px}.article-media .event-mini-eyebrow{font-size:10px}.article-media .event-mini-button{font-size:9px}.article-media .event-mini-footer{font-size:8px}.article figcaption{font-size:12px;color:var(--muted);line-height:1.6;margin-top:12px}.article figcaption a{text-decoration:underline;text-decoration-color:#c4c4c6;text-underline-offset:3px}.article-end{margin-top:74px}
.essay header{margin-top:61px}.essay .essay-kicker{font-size:14px;line-height:1.5;color:var(--muted);margin-bottom:19px}.essay h1{font-size:27px;font-weight:500;letter-spacing:-.8px;line-height:1.3;text-wrap:balance}.essay-byline{font-size:13px;color:#75757b;margin-top:18px;line-height:1.6}.essay-byline span{margin:0 5px}.essay .lead{margin-top:36px}.essay section{margin-top:42px}.essay section:first-of-type{margin-top:35px}.essay .prose{line-height:1.78}.essay-end{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:70px;padding-top:26px;font-size:14px;color:var(--muted)}.essay-end a:first-child{color:#535358}.essay-end span{margin-left:6px}
.about{max-width:408px;padding:0 24px;margin:216px auto 120px}.about h1{font-size:18px;font-weight:500;letter-spacing:-.3px;margin-bottom:28px}.about p{font-size:16px;line-height:1.75;color:#717178;margin-bottom:25px;letter-spacing:-.14px}.about a{text-decoration:underline;text-decoration-color:#cccccf;text-underline-offset:4px;color:#4e4e55}.about .about-location{margin-top:54px;font-size:14px;color:var(--muted)}
@media(hover:hover){.project-card>a:hover .card-visual>.inset:not(.activity-miniatures){--object-lift:-4px;--hover-scale:1.015}.project-card>a:hover .card-visual{box-shadow:inset 0 0 0 1px #00000004}.writing-list a:hover .writing-title{color:#000}.writing-list a:hover .writing-time>span{color:#333;transform:translate(2px,-2px)}}
.project-card>a:focus-visible .card-visual>.inset:not(.activity-miniatures){--object-lift:-3px}
.source-line{display:block;margin-top:6px}.article .lead{overflow-wrap:break-word}
.case-study .case-study-meta{margin-top:22px;font-size:14px;line-height:1.6;color:var(--muted)}
.case-study .prose h3{margin:36px 0 12px;font:inherit;font-weight:550;color:var(--ink)}
.case-study .prose h3:first-child{margin-top:0}.case-study .lead strong{font-weight:550}
@media(min-width:768px) and (max-width:1199px){:root{--card-w:360px;--card-h:395px;--phone-preview-h:310px}.intro{padding-top:196px}.work{margin-top:114px}.blueprints-image{width:199px;height:199px}.wallet-image{width:255px;height:318px}.messages-image{height:310px;width:auto}.card-visual>.event-mini{--object-scale:.91}.card-visual>.activity-miniatures{--object-scale:.70}}
@media(max-width:767px){:root{--gutter:26px;--column:calc(100vw - 52px);--card-w:280px;--card-h:310px;--phone-preview-h:253px;--radius:24px}.intro{padding-top:172px}.intro-inner{max-width:325px}.intro p{margin-top:23px}.intro .role{margin-top:17px}.work{margin-top:77px}.project-rail{gap:16px;padding-right:26px}.blueprints-image{width:164px;height:164px}.wallet-image{width:215px;height:268px}.messages-image{height:253px;width:auto}.card-visual>.event-mini{--object-scale:.73}.project-lockup{gap:10px;margin-top:15px}.lockup-icon{width:33px;height:33px}.lockup-copy{font-size:14px}.lockup-copy p{font-size:13px}.explorations{margin-top:75px}.section-heading{margin-bottom:20px}.card-visual>.activity-miniatures{--object-scale:.565}.writing{margin-top:78px}.writing h2{margin-bottom:12px}.writing-list a{padding:23px 0;gap:16px}.writing-title{font-size:16px}.writing-description{font-size:14px}.writing-time{align-self:flex-start;margin-top:4px;font-size:12px;gap:10px}.writing-time>span{display:none}.site-footer{margin-top:90px;margin-bottom:46px;font-size:13px}.article{margin:34px auto 70px}.article header{margin-top:52px}.article .lead{font-size:19px;line-height:1.6}.article-figure{margin-top:46px}.article-media{min-height:325px;border-radius:14px}.article-media .blueprints-image{width:190px;height:190px}.article-media .wallet-image{height:325px;width:260px;margin:22px}.article-media .messages-image{height:325px;margin:24px}.article-media .event-mini{transform:scale(.73);flex-shrink:0}.article section{margin-top:44px}.article .prose{font-size:16px;line-height:1.78}.article .prose p+p{margin-top:22px}.essay header{margin-top:45px}.essay h1{font-size:26px;letter-spacing:-.75px}.essay .lead{margin-top:31px}.essay section:first-of-type{margin-top:31px}.essay-end{margin-top:55px;font-size:13px}.about{margin-top:172px}.about p{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Native completion feedback in the homepage preview. */
.project-card[data-preview-paused=true] .inset *,.project-card[data-preview-paused=true] .inset *::after{animation-play-state:paused!important}


/* Abstract component mark for the Agentic UI project listing. */
.component-image{width:208px;height:208px}
@media(max-width:767px){.component-image{width:176px;height:176px}}

/* Native widget sizes share a centered rail and continuous focus scale. */
.home-widget-carousel{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.home-widget-viewport{position:absolute;inset:0;perspective:900px;transform-style:preserve-3d}
.home-widget-slide{position:absolute;left:50%;top:50%;width:var(--slide-width);height:var(--slide-height);margin-left:calc(var(--slide-width)*-.5);margin-top:calc(var(--slide-height)*-.5);transform-style:preserve-3d;will-change:transform;backface-visibility:hidden;filter:drop-shadow(0 12px 16px #00000012)}
.home-widget-carousel [data-resizing] .widget-foreground{will-change:opacity,filter}
.home-widget-area{width:100%;height:100%;display:grid;place-items:center}.home-widget-slide .widget-fit{position:absolute;inset:0}.home-widget-slide .widget-native{transform-origin:top left}
.home-widget-fallback img{width:100%;mask:var(--fallback-mask) center / 100% 100% no-repeat;-webkit-mask:var(--fallback-mask) center / 100% 100% no-repeat}
.home-widget-fallback{position:absolute;left:50%;top:50%;width:35.526627%;height:auto;transform:translate(-50%,-50%) rotateY(var(--fallback-turn,0deg)) scale(var(--fallback-scale,1));filter:drop-shadow(0 12px 16px #00000012)}



@media(prefers-reduced-motion:reduce){.home-widget-slide{will-change:auto}}

.intro-inner #about{scroll-margin-top:32px}.intro-inner a{text-decoration:underline;text-decoration-color:#cccccf;text-underline-offset:4px;color:#4e4e55}.intro-inner .about-location{font-size:14px;color:var(--muted)}

.home-widget-edge{position:absolute;top:0;bottom:0;width:6%;pointer-events:none;z-index:2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(to right,var(--card),transparent);mask-image:linear-gradient(to right,#000 5%,transparent);-webkit-mask-image:linear-gradient(to right,#000 5%,transparent)}
.home-widget-edge.edge-left{left:0}.home-widget-edge.edge-right{right:0;transform:rotate(180deg)}
.home-widget-viewport{mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}

.article .back{color:#68686d}
.case-study h1{font-size:28px;line-height:1.22;letter-spacing:-.6px;font-weight:550}
.case-study h2{font-size:22px;line-height:1.3;font-weight:550;letter-spacing:-.3px}
.case-study .prose h3{font-size:19px;line-height:1.4}
.case-study section{scroll-margin-top:32px}
.live-journey-figure{width:100%;max-width:640px;position:relative;margin:32px 0}
.live-journey-figure> [data-journey]{display:block;width:100%;min-width:0}
.live-journey-figure figcaption{padding-inline:0}
.pass-live-stage{display:flex;justify-content:center;background:#f5f5f7;border-radius:20px;padding:24px}
.pass-live{display:block;width:100%;max-width:402px;height:760px;border:0;border-radius:20px;transform:none;background:#00152b}
.home-pass-live{display:block;width:100%;height:100%;border:0;pointer-events:none}
.card-visual>[data-journey]{display:block;min-width:0;width:100%;pointer-events:none}
.journey-preview{background:#00152b}
.exploration-references ul{padding:0;list-style:none;font-size:14px;line-height:1.6;color:#68686d}
.exploration-references li+li{margin-top:12px}
.exploration-references a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#c4c4c6}
@media(max-width:767px){.case-study h1{font-size:26px}.case-study h2{font-size:21px}.case-study .prose h3{font-size:18px}.live-journey-figure{width:100%}.live-journey-figure figcaption{padding-inline:12px}.pass-live-stage{padding:0;background:transparent}.pass-live{border-radius:18px;height:690px}}
.case-evidence{margin:32px 0;width:100%;max-width:640px}
.case-evidence img{display:block;width:100%;height:auto;border-radius:16px}
.case-evidence video{display:block;width:100%;max-height:580px;background:#f4f4f6;border-radius:16px;object-fit:contain}
.article figcaption{font-size:14px}
.case-evidence figcaption{max-width:566px;font-size:14px;line-height:21px;color:#68686d;margin:14px auto 0}
.component-preview{width:88%;height:auto;max-height:84%;object-fit:contain;border-radius:12px;box-shadow:0 10px 28px #00000014}
@media(max-width:767px){.case-evidence{width:100%;margin:28px 0}.case-evidence video{max-height:540px}.case-evidence figcaption{font-size:14px;line-height:20px}}


/* One native link covers each card, including inert preview siblings. */
.project-card{position:relative}
.project-card>a::after{content:"";position:absolute;inset:0;z-index:10;border-radius:var(--radius)}
.project-card>a:focus-visible{outline:none}
.project-card>a:focus-visible::after{outline:2px solid #007aff;outline-offset:2px}

/* The measurement invitation belongs beneath its live canvas. */
.article figure:has(edge-measurements) figcaption{text-align:center}

/* Shared device framing keeps project imagery at the same visual height. */
.card-visual>.messages-image{width:auto;height:var(--phone-preview-h)}
.wallet-home-device{position:relative;width:calc(var(--phone-preview-h) * .4895833333);height:var(--phone-preview-h);mask:url('/assets/wallet-home-mask.png') center/100% 100% no-repeat;-webkit-mask:url('/assets/wallet-home-mask.png') center/100% 100% no-repeat}
.wallet-home-screen{position:absolute;left:4.964539%;top:2.083333%;width:90.070922%;height:95.659722%;border-radius:2.5%;object-fit:fill}
.wallet-home-hardware{position:absolute;inset:0;width:100%;height:100%}
.project-rail .card-visual>[data-journey],.project-rail .banner-home-visual notification-banners{height:100%}

/* The homepage studies share the established Live Activities content scale. */
.project-rail{--home-preview-scale:.78}
@media(min-width:768px) and (max-width:1199px){.project-rail{--home-preview-scale:.70}}
@media(max-width:767px){.project-rail{--home-preview-scale:.565}}
.exploration-story.simple-exploration .live-journey-figure{width:100%;left:auto;transform:none;margin:24px 0 0}

/* Semantic text actions, shared by every authored document. Navigation chrome
   retains its own treatment. Match hover specificity from study styles. */
:root{--link:#0067ce;--link-hover:#005bb8}
.article :is(.prose,.lead,figcaption,.study-reference,.study-reading,.exploration-references,agentic-specimen,edge-measurements) a{color:var(--link);text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px}
.article :is(.prose,.lead,figcaption,.study-reference,.study-reading,.exploration-references,agentic-specimen,edge-measurements) a:hover{color:var(--link-hover)}
.article :is(.prose,.lead,figcaption,.study-reference,.study-reading,.exploration-references,agentic-specimen,edge-measurements) a:focus-visible{outline:2px solid var(--link);outline-offset:3px;border-radius:2px}

/* Reserve the existing study canvas while its optional module arrives. */
:root{--exploration-height:460px}
.article :is(edge-measurements,notification-banners){display:block;min-height:var(--exploration-height)}
@media(max-width:767px){:root{--exploration-height:410px}}

/* Narrative refinements preserve the existing card dimensions and motion. */
.work .project-lockup{align-items:flex-start}
.work .lockup-copy{min-width:0}
.section-intro{font-size:14px;line-height:1.6;letter-spacing:-.15px;color:#68686d;margin-bottom:24px}
.explorations>.section-intro{max-width:var(--column);margin-left:var(--gutter);margin-right:26px}
.explorations>.section-heading,.writing:has(>.section-intro)>h2{margin-bottom:12px}
