.project-demo{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:18px;box-shadow:0 24px 64px #24262114;font-size:14px;isolation:isolate}.project-demo button{font:inherit}.project-demo button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.project-demo--design{display:flex;flex-direction:column;padding:clamp(20px,3.2vw,40px);background:#f9f9f6;color:#222128;--design-signal:#5744b5}.design-demo__topline,.design-demo__footer{display:flex;justify-content:space-between;gap:12px;color:#8a8797;font-family:var(--mono);font-size:9px;letter-spacing:.07em;flex-shrink:0}.design-demo__header{display:flex;justify-content:space-between;gap:24px;margin-top:20px;flex-shrink:0}.design-demo__eyebrow{margin:0 0 8px;color:var(--design-signal);font-family:var(--mono);font-size:9px;letter-spacing:.08em}.design-demo__header h3{margin:0;font-size:clamp(24px,3.4vw,42px);letter-spacing:-.075em;line-height:1.22}.design-demo__header h3 em{color:var(--design-signal);font-style:normal}.design-demo__lede{max-width:230px;margin:18px 0 0;color:#7f7d88;font-size:13px;line-height:1.7}.design-demo__stage-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;flex-shrink:0}.design-demo__stage-nav button{display:flex;align-items:center;gap:10px;min-height:54px;padding:8px 12px;border:1px solid #dedde4;border-radius:8px;background:#fff;color:#8d8a97;cursor:pointer;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.design-demo__stage-nav button:hover{border-color:#b9b0dd}.design-demo__stage-nav button.is-active{border-color:var(--design-signal);box-shadow:0 7px 20px #5744b51a;color:#2b2934}.design-demo__stage-icon{display:grid;width:28px;height:28px;place-items:center;border:1px solid currentColor;border-radius:50%;color:var(--design-signal);font-family:var(--mono);font-size:9px;flex-shrink:0}.design-demo__stage-nav button span:nth-child(2){display:grid;gap:2px;min-width:0}.design-demo__stage-nav strong{font-size:12px}.design-demo__stage-nav small{color:#9996a2;font-size:10px}.design-demo__stage-nav b{margin-left:auto;color:var(--design-signal);font-size:12px;font-weight:500}.design-demo__board-wrap{flex:1 1 0;min-height:0;display:flex;flex-direction:column;margin-top:14px}.design-demo__board{position:relative;flex:1 1 0;min-height:250px;display:flex;flex-direction:column;overflow:hidden;padding:16px 20px;border:1px solid #dddbe3;border-radius:10px;background:#fff}.design-demo__board-head{position:relative;z-index:1;display:flex;justify-content:space-between;color:#a09da8;font-family:var(--mono);font-size:9px;letter-spacing:.07em;flex-shrink:0}.design-demo__index{display:grid;flex:0 0 auto;width:28px;height:28px;place-items:center;border-radius:50%;background:#ece9fb;color:var(--design-signal);font-family:var(--mono);font-size:11px}.design-demo__brief-intro,.design-demo__deliver-title{display:flex;gap:13px;align-items:flex-start;margin-top:20px}.design-demo__brief-intro strong{font-size:22px;letter-spacing:-.05em;line-height:1.25}.design-demo__brief-intro p,.design-demo__deliver-title p{margin:6px 0 0;color:#9b98a3;font-size:10px}.design-demo__brief-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 0 41px}.design-demo__brief-rows div{display:grid;gap:6px;padding-top:8px;border-top:1px solid #e1dfe7}.design-demo__brief-rows span,.design-demo__brief-rows i{color:#9b98a3;font-family:var(--mono);font-size:9px;font-style:normal}.design-demo__brief-rows strong{min-height:28px;font-size:11px;line-height:1.4}.design-demo__brief-note{margin-top:auto;padding-top:12px;align-self:flex-end;display:flex;gap:8px;color:var(--design-signal)}.design-demo__brief-note p{margin:0;color:#777381;font-size:10px;line-height:1.5}.design-demo__brief-note strong{color:var(--design-signal);font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.05em}.design-demo__blueprint{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.55;background:repeating-linear-gradient(90deg,transparent 0 80px,#ece9f5 80px 81px),repeating-linear-gradient(0deg,transparent 0 52px,#ece9f5 52px 53px);pointer-events:none}.design-demo__blueprint span{position:absolute;width:9px;height:9px;border:1px solid var(--design-signal);border-radius:50%}.design-demo__blueprint span:nth-child(1){top:30px;left:20%}.design-demo__blueprint span:nth-child(2){top:120px;left:54%}.design-demo__blueprint span:nth-child(3){right:10%;bottom:34px}.design-demo__blueprint i{position:absolute;width:1px;height:36px;background:#b7afe0;transform:rotate(45deg)}.design-demo__blueprint i:nth-of-type(1){top:46px;left:28%}.design-demo__blueprint i:nth-of-type(2){top:125px;left:60%}.design-demo__blueprint i:nth-of-type(3){right:15%;bottom:41px}.design-demo__compose-body{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:20px;flex:1}.design-demo__compose-copy{min-width:0}.design-demo__compose-copy>span{color:var(--design-signal);font-family:var(--mono);font-size:9px;letter-spacing:.08em}.design-demo__compose-copy h4{max-width:430px;margin:10px 0 8px;color:#24212d;font-size:clamp(34px,5vw,56px);letter-spacing:-.08em;line-height:1}.design-demo__compose-copy h4 em{color:var(--design-signal);font-style:normal}.design-demo__compose-copy p{margin:0;color:#7c7887;font-size:12px;line-height:1.55}.design-demo__swatches{flex-shrink:0;display:grid;grid-template-columns:repeat(3,22px);gap:6px}.design-demo__swatches i{width:22px;height:22px;border-radius:50%;background:#23212a}.design-demo__swatches i:nth-child(2){background:#f2f0e9;border:1px solid #d6d3cc}.design-demo__swatches i:nth-child(3){background:var(--design-signal)}.design-demo__swatches span{grid-column:1 / -1;margin-top:3px;color:#8e899b;font-family:var(--mono);font-size:8px}.design-demo__compose-meta{position:relative;z-index:1;margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;gap:8px;color:#aaa6b0;font-family:var(--mono);font-size:8px}.design-demo__deliver-title strong{font-size:22px;letter-spacing:-.05em}.design-demo__checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px;margin:18px 0 0 41px}.design-demo__checks div{display:grid;grid-template-columns:21px minmax(0,1fr) auto;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid #e6e3eb}.design-demo__checks strong{font-size:11px;line-height:1.35}.design-demo__checks small{color:#9b98a3;font-family:var(--mono);font-size:8px}.design-demo__check{display:grid;width:21px;height:21px;place-items:center;border:1px solid #c4c1cc;border-radius:50%;color:#97939f;font-family:var(--mono);font-size:10px}.design-demo__check.is-done{border-color:#6e5fc0;background:#efedfc;color:var(--design-signal)}.design-demo__deliver-foot{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;color:#9a96a3;font-family:var(--mono);font-size:9px}.design-demo__deliver-foot b,.design-demo__footer b{color:var(--design-signal)}.design-demo__footer{margin-top:12px;color:#95929d}@media(max-width:760px){.design-demo__header{display:block}.design-demo__lede{margin-top:12px;max-width:none}.design-demo__stage-nav{grid-template-columns:1fr}.design-demo__checks{grid-template-columns:1fr;margin-left:0}.design-demo__brief-rows{margin-left:0;gap:12px}.design-demo__brief-note{align-self:flex-start;margin-top:16px}.design-demo__board{min-height:310px}.design-demo__compose-body{flex-direction:column;align-items:flex-start}.design-demo__footer span:last-child{display:none}.design-demo__compose-meta{font-size:7px}}@media(prefers-reduced-motion:reduce){.project-demo *{animation:none!important;transition:none!important}}.data-experience{position:relative;z-index:5;background:var(--paper);padding-block:clamp(76px,10vw,150px);border-top:1px solid var(--line)}.data-experience__heading{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:32px;align-items:start;margin-bottom:clamp(38px,6vw,80px)}.data-experience__heading>.eyebrow,.data-experience__method>.eyebrow{color:var(--muted);margin:8px 0 0}.data-experience__intro{max-width:850px}.data-experience__intro h2{margin:0 0 16px;font-size:clamp(32px,4.5vw,64px);line-height:1.2;letter-spacing:-.045em;font-weight:450}.data-experience__intro>p{max-width:650px;margin:0;color:var(--muted);font-size:16px;line-height:1.9;font-weight:400}.data-experience__scale{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.data-experience__measure{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:174px;padding:20px 24px 24px 0}.data-experience__measure+.data-experience__measure{padding-left:24px;border-left:1px solid var(--line)}.data-experience__measure-index{color:var(--muted);font:10px/1.5 var(--mono)}.data-experience__measure strong{margin-top:auto;color:var(--accent);font-size:clamp(34px,5vw,66px);line-height:1.05;letter-spacing:-.045em;font-weight:450}.data-experience__measure>span:last-child{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.6}.data-experience__details{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(34px,7vw,110px);padding-top:clamp(34px,5vw,64px)}.data-experience__record{display:grid;grid-template-columns:minmax(118px,.43fr) minmax(0,1fr);gap:22px;padding:22px 0 25px;border-bottom:1px solid var(--line)}.data-experience__record:first-child{padding-top:0}.data-experience__record>.eyebrow{color:var(--muted);font-size:10px}.data-experience__record h3,.data-experience__method h3{margin:0 0 9px;font-size:18px;line-height:1.55;letter-spacing:-.02em;font-weight:450}.data-experience__record p,.data-experience__method>p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px;line-height:1.9;font-weight:400}.data-experience__method{align-self:start;padding:0 0 0 25px;border-left:2px solid var(--accent)}.data-experience__method>.eyebrow{margin:0 0 16px;font-size:10px}.data-experience__method h3{margin-bottom:12px;font-size:22px}.data-experience__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.data-experience__tags span{padding:6px 10px;border:1px solid var(--line);color:var(--muted);font-size:10px;line-height:1.4;font-weight:400}@media(max-width:760px){.data-experience{padding-block:76px}.data-experience__heading{grid-template-columns:1fr;gap:18px;margin-bottom:34px}.data-experience__heading>.eyebrow{margin:0}.data-experience__intro h2{margin-bottom:12px;font-size:clamp(30px,8vw,42px)}.data-experience__intro>p{font-size:14px}.data-experience__measure{min-height:126px;padding:13px 9px 15px 0}.data-experience__measure+.data-experience__measure{padding-left:11px}.data-experience__measure strong{font-size:clamp(23px,7vw,34px)}.data-experience__measure>span:last-child{margin-top:7px;font-size:10px}.data-experience__details{grid-template-columns:1fr;gap:34px;padding-top:32px}.data-experience__record{grid-template-columns:1fr;gap:10px;padding-block:18px 21px}.data-experience__record h3{font-size:17px}.data-experience__record p,.data-experience__method>p:not(.eyebrow){font-size:13px}.data-experience__method{padding-left:18px}}.image-viewer{width:min(1200px,94vw);max-height:94svh;border:1px solid var(--line);padding:0;background:var(--paper);color:var(--ink)}.image-viewer::backdrop{background:#171913e6}.image-viewer__toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--paper)}.image-viewer__toolbar p{flex:1;margin:0;font-size:13px;line-height:1.7}.image-viewer__toolbar button{min-width:44px;min-height:44px;border:1px solid var(--line);background:transparent;padding:8px;transition:background-color .18s,transform .18s}.image-viewer__toolbar button:hover{background:var(--surface)}.image-viewer__toolbar button:active{transform:scale(.96)}.image-viewer__image{padding:0 18px 18px;text-align:center}.image-viewer__image img{display:block;max-width:100%;max-height:calc(90svh - 80px);width:auto;height:auto;margin:auto}@media(max-width:760px){.image-viewer__toolbar{flex-wrap:wrap;padding:8px}.image-viewer__toolbar p{flex-basis:100%}.image-viewer__image{padding:0 8px 12px}.image-viewer__image img{max-height:calc(90svh - 130px)}}.activity-section{position:relative;z-index:5;background:var(--paper);padding-block:70px 90px}.activity-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:8vw;border-top:1px solid var(--ink);padding-top:26px;margin-bottom:48px}.activity-heading .eyebrow{color:var(--accent);font-size:10px}.activity-heading h2{font-size:clamp(30px,3.6vw,50px);font-weight:400;line-height:1.35;letter-spacing:-.04em;margin:16px 0 0}.activity-heading>p{max-width:390px;color:var(--muted);font-size:14px;line-height:1.95;margin:0}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 32px}.activity-story{min-width:0}.activity-story figure{margin:0}.activity-media{border-radius:18px}.activity-cover{position:relative;display:block;width:100%;border:0;padding:12px;background:var(--surface);cursor:zoom-in;touch-action:pan-y pinch-zoom;transition:background-color .22s}.activity-cover img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:contain}.activity-cover:focus-visible{outline-offset:-5px}.activity-enlarge{position:absolute;right:20px;bottom:20px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--paper);transition:transform .22s}.activity-cover:hover .activity-enlarge{transform:translate(2px,-2px)}.activity-cover:active .activity-enlarge{transform:scale(.9)}.activity-caption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;padding:10px 2px 2px;color:var(--muted);font-size:12px;line-height:1.8;overflow-wrap:anywhere}.activity-caption>span{flex:1 1 140px}.activity-controls{display:flex;align-items:center;gap:6px}.activity-controls button{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;padding:0;color:var(--ink);background:transparent;transition:background-color .18s,transform .18s}.activity-controls>span{min-width:36px;text-align:center;font:10px var(--mono)}.activity-controls button:hover{background:var(--surface)}.activity-controls button:active{transform:scale(.94)}.activity-thumbnails{display:flex;flex-wrap:wrap;gap:10px;padding:6px 2px 2px}.activity-thumbnails button{width:78px;height:60px;border:2px solid transparent;border-radius:4px;padding:3px;background:var(--surface);transition:border-color .18s,transform .18s}.activity-thumbnails img{display:block;width:100%;height:100%;object-fit:contain}.activity-thumbnails button[aria-pressed=true]{border-color:var(--accent)}.activity-thumbnails button:hover{border-color:var(--muted)}.activity-thumbnails button[aria-pressed=true]:hover{border-color:var(--accent)}.activity-thumbnails button:active{transform:scale(.96)}.activity-story__copy{position:relative;padding:22px 0 0 36px}.activity-number{position:absolute;left:0;top:25px;color:var(--accent);font-size:10px}.activity-story h3{font-size:22px;font-weight:400;letter-spacing:-.025em;margin-bottom:12px}.activity-story__copy>p{color:var(--muted);font-size:14px;line-height:1.9;margin-bottom:0}.activity-story:first-child{grid-column:1 / -1;display:grid;grid-template-columns:1.65fr 1fr;align-items:center;gap:5vw;border-bottom:1px solid var(--line);padding-bottom:40px}.activity-story:first-child .activity-cover img{aspect-ratio:3 / 2}.activity-story:first-child h3{font-size:clamp(24px,2.6vw,36px)}@media(max-width:760px){.activity-section{padding-block:40px 55px}.activity-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.activity-heading>p{max-width:36em}.activity-grid{grid-template-columns:1fr;gap:36px}.activity-story:first-child{display:block;padding-bottom:30px}.activity-cover{padding:8px}.activity-enlarge{right:16px;bottom:16px}.activity-story__copy{padding-top:18px}.activity-number{top:21px}.activity-story h3{font-size:22px}}.poster-section{position:relative;z-index:5;background:var(--paper);padding-block:70px 90px}.poster-heading{border-top:1px solid var(--ink);padding-top:26px;display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:38px}.poster-heading .eyebrow{color:var(--accent);font-size:10px}.poster-heading h2{font-size:clamp(26px,3.1vw,44px);font-weight:400;letter-spacing:-.04em;margin:12px 0 0}.poster-heading>p{font-size:14px;line-height:1.9;margin:0}.poster-heading>p span{color:var(--muted);font-size:12px}.poster-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px 20px}.poster-grid figure{margin:0;min-width:0}.poster-preview{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:3 / 4.3;border:0;padding:14px;background:#e7e5dc;cursor:zoom-in}.poster-preview img{width:100%;height:100%;object-fit:contain;transition:transform .35s cubic-bezier(.2,.7,.2,1)}.poster-preview:focus-visible{outline-offset:-5px}.poster-preview:hover img{transform:scale(1.025)}.poster-enlarge{position:absolute;bottom:10px;right:10px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--paper)}.poster-grid figcaption{padding:14px 2px 2px;line-height:1.8;overflow-wrap:anywhere}.poster-grid figcaption .eyebrow{font-size:9px;color:var(--muted)}.poster-grid h3{font-size:15px;font-weight:400;margin:6px 0}.poster-grid figcaption>span:last-child{font-size:11px;color:var(--muted)}@media(max-width:1100px){.poster-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:32px 20px}.poster-grid figure{grid-column:span 2}.poster-grid figure:nth-child(n+4){grid-column:span 3}}@media(max-width:760px){.poster-section{padding-block:40px 55px}.poster-heading{display:block}.poster-heading>p{margin-top:18px}.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.poster-grid figure,.poster-grid figure:nth-child(n+4){grid-column:auto}.poster-grid figure:last-child{grid-column:1 / -1}.poster-grid figure:last-child .poster-preview{aspect-ratio:4 / 3.2}.poster-preview{padding:10px}.poster-grid h3{font-size:14px}}@media(max-width:420px){.poster-grid{grid-template-columns:1fr}.poster-grid figure:last-child .poster-preview{aspect-ratio:3 / 4.3}}@font-face{font-family:Manrope Variable;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2")}:root{--paper: #f1f0e9;--ink: #242621;--muted: #67695f;--line: #c9c9bd;--accent: #b83b20;--surface: #e8e7df;--focus: #9b321c;--sans: "Manrope Variable", "Arial", "PingFang SC", "Microsoft YaHei", sans-serif;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--gutter: clamp(22px, 4.5vw, 88px);font-family:var(--sans);color:var(--ink);background:var(--paper);color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;min-width:320px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:default}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:5px}::selection{color:var(--paper);background:var(--accent)}svg{display:block;flex-shrink:0}button svg,a svg{pointer-events:none}p,h1,h2,h3{margin-top:0}[hidden]{display:none!important}.section-shell{padding-inline:var(--gutter)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.eyebrow{font-family:var(--mono);font-size:11px;font-weight:400;line-height:1.65;letter-spacing:.08em}.accent-text,.accent-word{color:var(--accent)}.arrow-diagonal{transform:rotate(-45deg)}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:16px 22px;color:var(--paper);background:var(--ink);transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:absolute;z-index:10;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;margin-inline:var(--gutter);min-height:103px;border-bottom:1px solid var(--line);gap:32px}.wordmark{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:700;letter-spacing:-.015em}.wordmark-sub{display:block;font-size:10px;font-weight:400;letter-spacing:.12em;margin-top:5px}.header-edition{font-family:var(--mono);font-size:10px;color:var(--muted);line-height:1.7;letter-spacing:.04em;margin-right:auto;margin-left:6vw}.site-header nav{display:flex;align-items:center;gap:34px;font-size:13px}.site-header nav a{display:inline-flex;min-height:44px;align-items:center;gap:7px}.site-header nav a:hover{color:var(--accent)}.header-github{border-bottom:1px solid var(--ink)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:46px;border-bottom:1px solid var(--ink);font-size:13px}.text-link svg{transition:transform .22s ease-out}.text-link:hover{color:var(--accent);border-color:var(--accent)}.text-link:hover svg{transform:rotate(-35deg)}@media(min-width:1900px){:root{--gutter: 6vw}}@media(max-width:760px){.site-header{min-height:115px;gap:8px;flex-wrap:wrap;align-content:center;padding-block:12px}.wordmark{font-size:12px;gap:6px}.wordmark svg{width:27px}.wordmark-sub{font-size:9px}.header-edition{display:none}.site-header nav{width:100%;justify-content:space-between;gap:12px;font-size:11px}.header-github{display:none!important}.eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media(forced-colors:active){.accent-word,.accent-text{color:CanvasText}button,input{forced-color-adjust:auto}}.portfolio-hero{padding-top:148px;scroll-margin-top:100px}.hero-heading{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:4vw;min-height:460px}.hero-main-copy{position:relative;z-index:5}.hero-main-copy>.eyebrow{color:var(--muted);font-size:10px;margin-bottom:20px}.hero-main-copy h1{font-size:clamp(38px,4.5vw,72px);line-height:1.3;letter-spacing:-.06em;font-weight:550;margin:0 0 20px}.hero-main-copy h1>span{display:inline-block;color:var(--ink)}.hero-main-copy .name-dot{color:var(--accent)}.hero-statement{font-size:clamp(21px,2.25vw,34px);font-weight:450;line-height:1.5;letter-spacing:-.025em;margin:0 0 18px}.hero-bio{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:18px}.profile-facts{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:11px;margin-bottom:12px}.profile-facts span{display:flex;align-items:center;gap:7px}.profile-facts span:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent)}.profile-experience{max-width:510px;margin-bottom:8px}.profile-experience p{font-size:13px;line-height:1.9;color:var(--muted)}.hero-object{height:450px;position:relative}.hero-scene-dock{position:absolute;top:0;right:8%;bottom:0;left:-8%}.hero-object-note{position:absolute;top:0;right:0;z-index:5;color:var(--muted);font-size:9px;text-align:right}.hero-object-caption{position:absolute;bottom:12px;right:0;z-index:5;color:var(--muted);font-size:11px}.hero-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin-top:42px;position:relative;z-index:5;background:var(--paper)}.hero-sections>a{padding:23px 24px 24px 0}.hero-sections>a+a{padding-left:24px;border-left:1px solid var(--line)}.hero-sections .eyebrow{font-size:9px;color:var(--muted)}.hero-sections a>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.hero-sections h2{font-size:clamp(21px,2.25vw,34px);font-weight:500;letter-spacing:-.035em;margin:0}.hero-sections a:hover h2{color:var(--accent)}.exhibition-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;overflow:hidden}.exhibition-canvas canvas{display:block;width:100%;height:100%}.exhibition-fallback{position:absolute;top:0;left:0;width:400px;aspect-ratio:1}.exhibition-fallback svg{width:100%;height:100%}.fallback-project-pages,.fallback-project,.exhibition-fallback[data-theme=project] .fallback-profile-pages{display:none}.exhibition-fallback[data-theme=project] .fallback-project-pages,.exhibition-fallback[data-card="0"] .fallback-project[data-index="0"],.exhibition-fallback[data-card="1"] .fallback-project[data-index="1"],.exhibition-fallback[data-card="2"] .fallback-project[data-index="2"]{display:block}.exhibition-motion{position:fixed;bottom:16px;right:18px;z-index:20;display:flex;align-items:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:100px;padding:6px 14px;color:var(--ink);background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:10px;box-shadow:0 6px 20px #24262114}.exhibition-motion>span{font-size:18px}@media(min-width:1700px){.hero-object{height:510px}.hero-heading{min-height:530px}}@media(max-width:1000px){.hero-heading{gap:0}.hero-object{height:350px}.hero-main-copy h1{font-size:4.6vw}.hero-statement{font-size:23px}}@media(max-width:760px){.portfolio-hero{padding-top:145px}.hero-heading{display:block;position:relative;min-height:0}.hero-main-copy>.eyebrow{font-size:8px;margin-bottom:20px}.hero-main-copy h1{font-size:clamp(30px,7vw,48px);margin-bottom:18px}.hero-statement{font-size:21px;line-height:1.5;margin-bottom:16px}.hero-bio{font-size:12px;line-height:1.9;max-width:310px}.hero-object{position:relative;width:100%;height:230px;right:auto;top:auto}.hero-scene-dock{top:0;right:0;bottom:0;left:0}.hero-object-note,.hero-object-caption{display:none}.profile-facts{font-size:10px;gap:9px 15px}.profile-experience p{font-size:13px}.hero-main-copy .text-link{font-size:12px}.hero-sections{margin-top:28px;grid-template-columns:1fr}.hero-sections>a,.hero-sections>a+a{padding:16px 0;border-left:0}.hero-sections>a+a{border-top:1px solid var(--line)}.hero-sections .eyebrow{font-size:8px}.hero-sections a>div{margin-top:7px}.hero-sections h2{font-size:24px}.exhibition-motion{bottom:10px;right:10px;font-size:9px;padding:5px 11px}}.portfolio-footer{position:relative;padding-top:55px;padding-bottom:84px;border-top:1px solid var(--line)}.portfolio-footer>div:first-child{position:relative;z-index:5}.portfolio-footer h2{font-size:clamp(36px,5.6vw,80px);font-weight:500;line-height:1.25;letter-spacing:-.04em;margin:30px 0}.portfolio-footer .eyebrow{font-size:10px;color:var(--muted)}.footer-scene-dock{position:absolute;right:7%;top:40px;width:300px;height:260px;pointer-events:none}.footer-colophon{position:relative;z-index:5;display:flex;justify-content:space-between;gap:20px;font:9px var(--mono);color:var(--muted);border-top:1px solid var(--line);margin-top:70px;padding-top:22px}@media(max-width:760px){.portfolio-footer{padding-bottom:68px}.footer-scene-dock{width:140px;height:130px;right:3%;top:35px}.portfolio-footer h2{font-size:9vw}.footer-colophon{font-size:8px}.footer-colophon>span:last-child{display:none}}.works{padding-top:65px}.works-index{position:relative;z-index:5;background:var(--paper);display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--ink);padding:25px 0 36px}.works-index h2{font-size:32px;font-weight:500;margin:0;letter-spacing:-.04em}.works-index h2 span{display:block;font-size:11px;color:var(--muted);margin-top:8px;letter-spacing:.02em}.works-index>.eyebrow{font-size:9px;color:var(--muted)}.works-navigation{position:sticky;top:0;z-index:12;display:flex;gap:30px;background:var(--paper);border-bottom:1px solid var(--line)}.works-navigation a{display:flex;align-items:center;gap:12px;min-height:55px;font-size:12px;padding-right:12px;transition:color .18s,box-shadow .24s}.works-navigation a span{font:9px var(--mono);color:var(--accent)}.project-case{padding-block:38px 85px;scroll-margin-top:55px}.project-case+.project-case{border-top:1px solid var(--line)}.case-heading{display:grid;grid-template-columns:1fr 260px;gap:25px;align-items:center;min-height:220px}.case-title-block{position:relative;z-index:5}.case-title-block>.eyebrow{color:var(--accent);font-size:10px;margin-bottom:18px}.case-title-block h3{padding-bottom:.15em;font-size:clamp(45px,5.8vw,84px);font-weight:500;letter-spacing:-.055em;line-height:1.1;margin:0 0 19px}.case-subtitle{font-size:18px;color:var(--muted);margin:0;line-height:1.8}.case-heading-dock{height:220px}.case-meta{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 0 20px;font-size:11px;color:var(--muted)}.case-meta>a{display:flex;align-items:center;gap:12px;min-height:44px;color:var(--ink)}.case-tags{display:flex;gap:14px;font:10px var(--mono);margin-left:auto}.case-demo-stage{position:relative;perspective:1400px}.case-media-dock{position:absolute;right:13%;top:25%;width:48%;height:190px;pointer-events:none}.case-demo{position:relative;z-index:6}.case-details{margin-top:36px;padding-top:28px;border-top:1px solid var(--line);position:relative;z-index:5}.case-intro-label{font-size:11px;color:var(--accent);font-weight:400}.case-details p{font-weight:400;text-align:justify;text-align-last:start;text-justify:inter-ideograph;line-break:strict;text-wrap:pretty}.case-overview{text-wrap:balance;font-size:16px;line-height:1.9;max-width:1000px;margin:20px 0 32px}.case-details>div{display:grid;grid-template-columns:1fr 1fr;gap:45px}.case-details section h4{font-size:15px;font-weight:400;margin:0 0 12px}.case-details section p{font-size:14px;line-height:1.9;color:var(--muted);margin:0}@media(max-width:1000px){.case-heading{grid-template-columns:1fr 195px}.case-subtitle{font-size:16px}}@media(max-width:760px){.works{padding-top:38px}.works-index{padding-bottom:24px}.works-index h2{font-size:26px}.works-navigation{gap:0;justify-content:space-between}.works-navigation a{font-size:10px;gap:6px;padding-right:5px;min-height:48px}.project-case{padding-block:24px 50px}.case-heading{grid-template-columns:1fr 95px;gap:5px;min-height:145px}.case-heading-dock{height:110px}.case-title-block h3{font-size:clamp(31px,7.8vw,48px);margin-bottom:12px}.case-title-block>.eyebrow{font-size:8px;margin-bottom:12px}.case-subtitle{font-size:13px}.case-tags{display:none}.case-meta{font-size:10px;padding-bottom:12px;gap:10px}.case-media-dock{height:110px}}.case-github-link{margin-top:28px;color:var(--accent);border-color:currentColor}.bridge-app{display:grid;grid-template-columns:155px minmax(0,1.15fr) minmax(0,1fr);min-height:550px;background:#fff;color:#2e3033;font-family:Arial,PingFang SC,sans-serif;border-radius:18px}.bridge-app-sidebar{display:flex;flex-direction:column;background:linear-gradient(#e7ecf5,#eeeff0 40%);padding:18px 10px 12px}.app-traffic{display:flex;gap:8px;padding:1px 6px 27px}.app-traffic i{width:11px;height:11px;border-radius:50%;background:#ff625c}.app-traffic i:nth-child(2){background:#ffbd44}.app-traffic i:nth-child(3){background:#00c84a}.bridge-app-menu>div{padding:11px 12px;font-size:13px;font-weight:550;border-radius:9px;margin-bottom:2px}.bridge-app-menu>div[data-active=true]{background:#d4d6da}.bridge-app-connected{margin-top:auto;font-size:10px;color:#5b7660;padding:14px 8px 0}.bridge-app-chat{display:flex;flex-direction:column;min-width:0;border-right:1px solid #e0e1e4}.bridge-app-chat>h4{font-size:16px;padding:20px 19px 8px;margin:0}.bridge-browser-bar{display:flex;align-items:center;gap:12px;padding:15px;border-bottom:1px solid #e1e2e4;font-size:9px;color:#9b9b9b;white-space:nowrap}.bridge-browser-bar>span:nth-child(2){color:#1678ff;font-family:var(--mono);font-size:9px}.bridge-browser-bar small{font-size:8px;margin-left:auto;color:#666}.bridge-chat-toolbar{display:flex;justify-content:space-between;padding:18px 20px;font-size:12px;color:#74777c}.bridge-chat-toolbar>span:nth-child(2){background:#f7f7f8;border-radius:30px;padding:5px 16px}.bridge-chat-content{padding:45px 28px 30px;min-height:280px}.bridge-chat-content h3{font-size:23px;font-weight:550;letter-spacing:-.03em;margin:13px 0}.bridge-chat-content>p{font-size:12px;color:#898b91;line-height:1.8}.bridge-app-kicker{font-size:9px;font-family:var(--mono);color:#8c9098}.bridge-user-prompt{margin-top:30px;padding:15px;background:#f2f2f4;border-radius:18px;font-size:12px;line-height:1.7}.bridge-chat-input{margin:auto 17px 18px;padding:17px 16px 10px;border:1px solid #e9e9eb;border-radius:22px;box-shadow:0 2px 10px #00000008;font-size:12px;color:#96989d}.bridge-chat-input>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}.bridge-chat-input>div>span:nth-child(2){margin-left:auto;font-size:9px}.bridge-chat-input button{min-width:38px;height:38px;border:0;border-radius:50%;background:#277eff;color:#fff;font-size:25px}.bridge-chat-input button:disabled{opacity:.45}.bridge-app-execution{display:flex;flex-direction:column;min-width:0}.bridge-app-execution>header{padding:23px 18px 15px;border-bottom:1px solid #e1e2e4}.bridge-app-execution>header>div:first-child{display:flex;align-items:center;justify-content:space-between;font-size:12px}.bridge-app-execution>header>div:first-child>span{color:#26a755;background:#effbf2;border:1px solid #ccf0d5;border-radius:10px;padding:3px 8px;font-size:9px}.bridge-app-execution>header>p{font-size:10px;color:#8e9095;line-height:1.8;margin-top:13px}.bridge-app-policy{display:flex;justify-content:space-between;align-items:center;margin-top:16px;font-size:10px;gap:8px}.bridge-app-policy>div{display:flex;border-radius:7px;background:#f1f1f3;overflow:hidden}.bridge-app-policy button{font-size:10px;padding:8px 9px;background:transparent;border:0}.bridge-app-policy button[aria-pressed=true]{background:#087aff;color:#fff}.bridge-app-execution label{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin-top:16px}.bridge-app-execution select{border:1px solid #e6e6e9;border-radius:6px;background:#fff;min-height:35px;padding:4px 7px;font-size:11px;color:#373b42}.bridge-execution-body{flex:1;min-height:290px;padding:30px 22px}.bridge-execution-empty{text-align:center;padding-top:25px}.bridge-execution-empty>span{font-size:39px;color:#a0a3a9}.bridge-execution-empty h4,.bridge-execution-task h4{font-size:16px;font-weight:550;margin-top:18px}.bridge-execution-empty p,.bridge-execution-task p{font-size:12px;line-height:1.9;color:#888b92}.bridge-blue-button{border:0;background:#087aff;color:#fff;border-radius:8px;min-height:40px;padding:8px 14px;font-size:11px;margin-top:12px}.bridge-quiet-button{margin-left:10px;border:0;background:transparent;color:#777;min-height:40px;font-size:11px}.bridge-approval-box{border:1px solid #dae7f8;background:#f8fbff;padding:15px;border-radius:10px;margin-top:18px;font-size:12px}.bridge-file-row{font:10px var(--mono);padding:15px 8px;border-block:1px solid #e9e9eb;margin-block:20px;color:#6c7481;overflow-wrap:anywhere}.bridge-event-list{font-size:13px;color:#737981;line-height:2.8;padding-left:20px}.bridge-app-execution>footer{padding:11px 14px;font-size:9px;color:#8d9196;border-top:1px solid #e4e5e6}@media(max-width:1050px){.bridge-app{grid-template-columns:115px minmax(0,1fr) minmax(0,1fr)}.bridge-browser-bar small{display:none}.bridge-app-menu>div{font-size:11px;padding:10px 7px}.bridge-chat-content{padding:28px 20px}.bridge-chat-content h3{font-size:20px}.bridge-app-policy{align-items:start;flex-direction:column}}@media(max-width:760px){.bridge-app{grid-template-columns:1fr;min-height:0}.bridge-app-sidebar{display:none}.bridge-app-chat{border:0;border-bottom:1px solid #e5e5e8}.bridge-app-chat>h4{padding:14px 16px 8px}.bridge-browser-bar{padding:10px 15px}.bridge-chat-toolbar{display:none}.bridge-chat-content{padding:18px 18px 14px;min-height:0}.bridge-chat-content h3{font-size:20px;margin:10px 0}.bridge-chat-content>p{font-size:13px}.bridge-user-prompt{margin-top:16px;padding:12px 14px}.bridge-chat-input{margin:auto 15px 16px;padding:14px 14px 9px}.bridge-chat-input>div{margin-top:10px}.bridge-app-execution>header{padding:18px}.bridge-app-policy{flex-direction:row;align-items:center}.bridge-execution-body{min-height:210px;padding:18px}.bridge-execution-empty{padding-top:3px}.bridge-execution-empty p,.bridge-execution-task p{font-size:13px}.bridge-blue-button{min-height:44px}.bridge-app-policy button{min-height:38px}}.heartbeat-app{background:#fbf3f0;padding:40px 5%;color:#453638;--heart:#b35b79}.heartbeat-exhibit-header{display:flex;justify-content:space-between;align-items:start;gap:25px}.heartbeat-exhibit-header .eyebrow{font-size:9px;color:#a87982}.heartbeat-exhibit-header h3{font-size:30px;line-height:1.4;font-weight:500;margin:12px 0 0}.heartbeat-exhibit-header>span{font-size:10px;color:#9f8088}.heart-phones{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:735px;margin:40px auto 20px;align-items:start}.heart-phone{position:relative;min-width:0;max-width:345px;border:7px solid #f4efeb;border-radius:43px;background:#fffaf7;box-shadow:0 24px 45px #83475712,0 0 0 1px #ddd0cd;overflow:hidden}.heart-phone--second{margin-top:45px}.heart-status{display:flex;justify-content:space-between;padding:16px 22px 14px;font-size:11px;font-weight:700}.heart-phone-content{padding:10px 10px 14px;min-height:0}.heart-panel{background:#fff;border-radius:22px;padding:16px 14px;margin-bottom:12px;box-shadow:0 9px 25px #a0818308}.heart-panel h4{font-size:16px;font-weight:650;margin:0 0 14px}.heart-panel h4>span{float:right;color:var(--heart)}.heart-couple{text-align:center;padding-block:20px}.heart-avatars{display:flex;justify-content:center;align-items:center;gap:20px}.heart-avatars>div{display:grid;justify-items:center;gap:6px}.heart-avatars i{display:grid;place-items:center;font-style:normal;width:36px;height:36px;border-radius:50%;background:#f7e6eb;color:#aa6680;font-size:14px}.heart-avatars>div:last-child i{background:#efebf8;color:#8d7aae}.heart-avatars strong{font-size:11px}.heart-avatars>span{font-size:15px;color:#b87990}.heart-couple>span{display:block;font-size:12px;color:#a39196;margin-top:3px}.heart-couple>p{color:#825365;margin:0;font-size:18px}.heart-couple b{font-family:Georgia,serif;font-size:52px;font-weight:400;font-style:italic;line-height:1.12}.heart-couple small{display:block;font-size:10px;color:#a28d96;margin-top:7px}.heart-couple-actions{display:flex;gap:6px;margin-top:16px}.heart-couple-actions button{flex:1;border:1px solid #f1e3dc;border-radius:25px;min-height:36px;padding:4px 6px;background:#fff9f5;color:#a25870;font-size:10px;font-weight:600;white-space:nowrap}.heart-couple-actions button+button{color:#9073bc;background:#faf7ff;border-color:#ebe1f8}.heart-mood-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.heart-mood-pair>div{display:grid;justify-items:center;gap:4px;border-radius:18px;background:#fff0f4;padding:12px 5px}.heart-mood-pair>div+div{background:#f5f1ff}.heart-mood-pair span{color:#d786a5;font-size:19px}.heart-mood-pair small{font-size:10px;color:#a38796}.heart-mood-pair strong{font-size:14px}.heart-quick-moods{display:flex;gap:6px;margin-top:11px}.heart-quick-moods button{display:grid;place-items:center;gap:4px;flex:1;border:0;border-radius:17px;padding:8px 3px;background:#fceef4;color:#bf7797;min-height:44px;white-space:nowrap}.heart-quick-moods button:nth-child(2){background:#fff5dd;color:#ccab63}.heart-quick-moods button:nth-child(3){background:#f3ebfc;color:#a78abd}.heart-quick-moods span{font-size:10px;color:#67545e}.heart-nav{display:grid;grid-template-columns:repeat(4,1fr);background:#faf7f5;border:1px solid #e8e0de;border-radius:50px;padding:4px;margin:0 8px 8px}.heart-nav button{display:grid;place-items:center;gap:2px;border:0;border-radius:35px;background:transparent;padding:4px 2px;min-height:44px;white-space:nowrap}.heart-nav button[aria-pressed=true]{background:#eae5e4;color:var(--heart)}.heart-nav b{font-size:19px;font-weight:500}.heart-nav span{font-size:9px}.heart-capsule{padding:18px 12px}.heart-capsule h4{font-size:15px}.heart-capsule-moods{display:flex;gap:5px;margin-block:16px 14px}.heart-capsule-moods button{flex:1;border:1px solid #e9dadd;border-radius:20px;background:#fcebf1;padding:6px 2px;font-size:11px;min-height:36px;white-space:nowrap}.heart-capsule-moods button:nth-child(1){background:#fff5c9}.heart-capsule-moods button:nth-child(2){background:#eee4f6}.heart-capsule-moods button:nth-child(4){background:#e8f6fc}.heart-capsule-moods button[aria-pressed=true]{outline:2px solid #cf8da4;outline-offset:1px;font-weight:700}.heart-capsule-note{border:1px solid #f2e5e9;border-radius:18px;background:#fffbfc;color:#9c818d;line-height:1.85;padding:16px 12px;min-height:110px;font-size:12px}.heart-example-note{font-size:8px;color:#ae98a1}.heart-primary{display:block;border:0;border-radius:30px;background:#d2809c;color:#fff;font-size:12px;font-weight:600;width:100%;min-height:42px;margin-top:14px}.heart-saved{font-size:9px;color:#ac8e9c;line-height:1.6;text-align:center;min-height:28px;padding-top:10px}.heart-capsule-empty{text-align:center;padding:18px 12px}.heart-capsule-empty>span{font-size:21px;color:#c8809b}.heart-capsule-empty h4{font-size:14px;margin-top:10px}.heart-capsule-empty p{font-size:10px;color:#a29398;line-height:1.75}.heart-second-label{text-align:center;min-height:30px;display:flex;align-items:center;justify-content:center;padding:0 8px 8px;font-size:10px;color:#b88999}.heart-muted{font-size:11px;color:#ac969c}.heart-sample-photos{display:grid;grid-template-columns:1fr 1fr;gap:11px}.heart-sample-photos>div{text-align:center;border:1px solid #f1e8e3;border-radius:12px;padding:5px}.heart-sample-photos span{display:block;font-size:9px;color:#9c898e;padding:7px 0}.heart-landscape{height:100px;position:relative;border-radius:9px;background:#e1d8e7;overflow:hidden}.heart-landscape>i{position:absolute;width:35px;height:35px;background:#ffdfb8;top:14px;left:14px;border-radius:50%}.heart-landscape>b{position:absolute;width:130%;height:85px;background:#a8afba;border-radius:50%;bottom:-30px;left:-10%;transform:rotate(15deg)}.heart-landscape--1{background:#e7e9db}.heart-landscape--1>b{background:#9ca88b}.heart-landscape--2{background:#dce7eb}.heart-landscape--2>b{background:#94acb7}.heart-landscape--3{background:#f1ddd9}.heart-landscape--3>b{background:#c4a2a7}.heart-memory-date{display:grid;gap:11px;background:#fff9f3;border-radius:17px;padding:20px 13px;margin-top:20px}.heart-memory-date span,.heart-memory-date small{font-size:10px;color:#ac8c96}.heart-memory-date strong{font-size:18px;color:#996479}.heart-letter{padding:35px 20px;line-height:2}.heart-letter>span{font-size:30px;color:var(--heart)}.heart-letter h4{margin-top:20px}.heart-letter p{font-size:13px;color:#9c7c8b}.heart-letter small{font-size:10px;color:#ae909e}.heart-profile{text-align:center}.heart-profile>i{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#f9e7ef;margin:20px auto;font-style:normal;color:var(--heart)}.heart-profile p{font-size:12px;color:#a18793}.heart-profile dl{margin-top:28px;text-align:left}.heart-profile dl>div{display:flex;justify-content:space-between;border-top:1px solid #f3e8ed;padding-block:16px;font-size:11px}.heart-profile dd{margin:0;color:#a08090}.heartbeat-exhibit-footer{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#a07c89;margin-top:30px}@media(max-width:760px){.heartbeat-app{padding:24px 16px}.heartbeat-exhibit-header h3{font-size:22px}.heartbeat-exhibit-header>span{display:none}.heart-phones{grid-template-columns:1fr;margin:27px auto 10px;max-width:340px;gap:0}.heart-phone--second{display:none}.heart-phone{width:100%;max-width:340px}.heartbeat-exhibit-footer{font-size:9px;line-height:1.8}.heart-nav button{min-height:48px}.heart-couple-actions button,.heart-capsule-moods button{min-height:42px}}.project-demo button{min-height:44px;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease}.project-demo button:not(:disabled):active{transform:scale(.975);transition-duration:90ms}.project-demo button:focus-visible{outline:2px solid currentColor;outline-offset:3px;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 18%,transparent)}.project-demo button[data-selected=true],.project-demo button[aria-pressed=true],.project-demo button[aria-current=page]{font-weight:650}.design-demo__stage-nav button[data-selected=true]{border-color:var(--design-signal);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--design-signal) 44%,transparent),0 7px 20px #5744b51f}.design-demo__stage-nav button:not(:disabled):active{transform:scale(.985)}.design-demo__board-wrap{overflow:hidden;border-radius:10px;clip-path:inset(0 round 10px)}.design-demo__board-wrap .design-demo__board{will-change:transform,clip-path;animation:design-stage-cut .36s cubic-bezier(.22,1,.36,1) both}@keyframes design-stage-cut{0%{clip-path:inset(0 7% 0 7% round 10px);transform:scale(.985)}48%{clip-path:inset(0 round 10px);transform:scale(1.008)}to{clip-path:inset(0 round 10px);transform:scale(1)}}.heart-phone-content{perspective:900px}.heart-page-frame{transform-origin:50% 12%;will-change:transform,clip-path;animation:heartbeat-page-cut .38s cubic-bezier(.22,1,.36,1) both}@keyframes heartbeat-page-cut{0%{clip-path:inset(0 0 10% 0 round 22px);transform:scale(.985) rotateX(-1deg)}52%{clip-path:inset(0 round 22px);transform:scale(1.008) rotateX(0)}to{clip-path:inset(0 round 22px);transform:scale(1) rotateX(0)}}.heart-nav button[data-selected=true]{background:#eae5e4;color:var(--heart);box-shadow:0 3px 10px #8347571a}.heart-quick-moods button[data-selected=true],.heart-capsule-moods button[data-selected=true]{box-shadow:inset 0 0 0 2px currentColor,0 5px 13px #8347571f}.heart-primary[data-selected=true]{background:#b96682;box-shadow:0 7px 15px #b35b7938}.bridge-app-policy button[data-selected=true]{box-shadow:inset 0 0 0 1px #ffffff5c}.bridge-execution-body>*{will-change:transform,clip-path;animation:bridge-state-cut .28s cubic-bezier(.22,1,.36,1) both}@keyframes bridge-state-cut{0%{clip-path:inset(0 5% 6% 0 round 10px);transform:scale(.99)}to{clip-path:inset(0 round 10px);transform:scale(1)}}@media(prefers-reduced-motion:reduce){.project-demo button,.project-demo button:not(:disabled):active{transition:none;transform:none}.design-demo__board-wrap .design-demo__board,.heart-page-frame,.bridge-execution-body>*{animation:none;clip-path:inset(0 round 10px);transform:none}}html[data-motion=ready] [data-reveal][data-entered=false]{opacity:0}html[data-motion=ready] [data-reveal][data-entered=true]{opacity:1}html[data-motion=ready] [data-reveal][data-entered=true]{animation-duration:.68s;animation-delay:var(--entry-delay, 0ms);animation-timing-function:cubic-bezier(.18,.72,.16,1);animation-fill-mode:both}html[data-motion=ready] [data-reveal=title][data-entered=true]{animation-name:editorial-title}html[data-motion=ready] [data-reveal=copy][data-entered=true]{animation-name:editorial-copy}html[data-motion=ready] [data-reveal=line][data-entered=true]{animation-name:editorial-rule}html[data-motion=ready] [data-reveal=media][data-entered=true]{animation-name:editorial-media;animation-duration:1s;transform-origin:50% 70%}@keyframes editorial-title{0%{clip-path:inset(-.15em 100% -.25em -.1em);letter-spacing:-.08em}to{clip-path:inset(-.15em -.1em -.25em -.1em)}}@keyframes editorial-copy{0%{clip-path:inset(0 0 100% 0);filter:blur(3px)}to{clip-path:inset(0);filter:blur(0)}}@keyframes editorial-rule{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes editorial-media{0%{clip-path:inset(0 0 9% 0 round 20px);transform:perspective(1600px) rotateX(7deg) scale(.96)}to{clip-path:inset(0 round 18px);transform:perspective(1600px) rotateX(0) scale(1)}}.works-navigation a[aria-current=location]{color:var(--accent);box-shadow:inset 0 -3px var(--accent)}@media(prefers-reduced-motion:reduce){[data-reveal]{visibility:visible!important;animation:none!important;filter:none!important;clip-path:none!important}}.project-sequence{position:relative;--progress:0}.sequence-sticky{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.8fr);align-items:center;gap:clamp(28px,4vw,72px);padding-block:24px}.sequence-copy{position:relative;z-index:6}.sequence-copy>.eyebrow{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.sequence-progress{height:2px;background:var(--line);margin:22px 0;overflow:hidden}.sequence-progress i{display:block;height:100%;width:100%;background:var(--accent);transform:scaleX(var(--progress));transform-origin:left}.sequence-feature{animation:sequence-cut .45s cubic-bezier(.2,.7,.2,1)}.sequence-number{display:block;color:var(--accent);font:clamp(48px,7vw,100px)/1 var(--mono);margin-bottom:24px}.sequence-feature h4{font-size:clamp(23px,2.3vw,36px);line-height:1.5;font-weight:500;margin:0 0 18px}.sequence-feature p{font-size:15px;line-height:1.95;color:var(--muted);margin:0}.sequence-features{min-height:330px}.sequence-steps{display:flex;gap:12px;margin-top:24px}.sequence-steps button{min-width:44px;min-height:44px;border:1px solid var(--line);background:transparent;font:12px var(--mono);border-radius:50%}.sequence-steps button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.project-sequence[data-pinned=true]{height:calc(100svh + 664px)}.project-sequence[data-pinned=true] .sequence-sticky{position:sticky;top:56px;height:calc(100svh - 56px)}@keyframes sequence-cut{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(-4px)}}.sequence-sticky .case-demo{border-radius:18px}@media(min-width:761px){.sequence-sticky .project-demo{height:min(580px,calc(100svh - 120px));min-height:0}.sequence-sticky .bridge-app{grid-template-columns:124px minmax(0,1.08fr) minmax(0,1fr)}.sequence-sticky .bridge-app-chat,.sequence-sticky .bridge-app-execution{min-height:0}.sequence-sticky .bridge-chat-content{min-height:0;flex:1;padding:20px;overflow:auto}.sequence-sticky .bridge-execution-body{min-height:0;overflow:auto;padding:18px}.sequence-sticky .bridge-app-execution>header,.sequence-sticky .bridge-chat-input,.sequence-sticky .bridge-app-execution>footer{flex-shrink:0}.sequence-sticky .project-demo--design{padding:20px 24px}.sequence-sticky .design-demo__header{margin-top:14px}.sequence-sticky .design-demo__header h3{font-size:25px;line-height:1.25}.sequence-sticky .design-demo__lede{display:none}.sequence-sticky .design-demo__stage-nav{margin-top:14px}.sequence-sticky .design-demo__stage-nav button{min-height:48px;padding:7px 10px;gap:8px}.sequence-sticky .design-demo__stage-nav small,.sequence-sticky .design-demo__stage-nav b{display:none}.sequence-sticky .design-demo__board{min-height:0;padding:14px 18px}.sequence-sticky .design-demo__brief-intro,.sequence-sticky .design-demo__deliver-title{margin-top:14px}.sequence-sticky .design-demo__brief-rows{margin:14px 0 0 41px}.sequence-sticky .design-demo__compose-body{margin-top:14px}.sequence-sticky .design-demo__compose-copy h4{font-size:46px;line-height:1}.sequence-sticky .design-demo__checks{margin:14px 0 0;gap:10px 14px}.sequence-sticky .design-demo__checks small,.sequence-sticky .design-demo__brief-note{display:none}.sequence-sticky .design-demo__footer{margin-top:10px;font-size:8px}.sequence-sticky .heartbeat-app{padding:16px 20px}.sequence-sticky .heartbeat-exhibit-header h3{font-size:18px;margin-top:6px}.sequence-sticky .heartbeat-exhibit-header h3 br{display:none}.sequence-sticky .heartbeat-exhibit-header>span{display:none}.sequence-sticky .heart-phones{gap:18px;margin:12px auto 0;max-width:580px}.sequence-sticky .heart-phone{border-width:5px;border-radius:30px}.sequence-sticky .heart-phone--second{margin-top:0}.sequence-sticky .heart-panel{padding:12px 11px;margin-bottom:10px}.sequence-sticky .heart-couple{padding-block:16px}.sequence-sticky .heart-couple b{font-size:36px}.sequence-sticky .heart-couple-actions{margin-top:10px}.sequence-sticky .heartbeat-exhibit-footer{margin-top:10px;font-size:8px}}.bridge-app{height:650px;min-height:650px}.bridge-app-chat,.bridge-app-execution{min-height:0}.bridge-chat-content{overflow:auto}.bridge-execution-body{overflow:auto;min-height:0}@media(min-width:761px)and (max-width:1199px){.sequence-sticky .bridge-app{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sequence-sticky .bridge-app-sidebar{display:none}}@media(min-width:761px)and (max-width:1099px){.sequence-sticky{grid-template-columns:minmax(210px,.8fr) minmax(0,1.4fr);gap:24px}.sequence-feature p{font-size:13px}.sequence-feature h4{font-size:23px}.sequence-number{font-size:55px}.sequence-sticky .design-demo__stage-nav{gap:6px}.sequence-sticky .design-demo__stage-icon{display:none}.sequence-sticky .design-demo__brief-rows{margin-left:0}}@media(max-width:760px){.sequence-sticky{grid-template-columns:1fr;gap:24px}.sequence-features{min-height:230px}.sequence-number{font-size:42px;margin-bottom:16px}.sequence-feature p{font-size:14px}.sequence-progress{display:none}.bridge-app{height:920px;min-height:920px;grid-template-rows:430px minmax(0,1fr)}.bridge-chat-content{min-height:0}.case-details>div{grid-template-columns:1fr;gap:25px}}@media(prefers-reduced-motion:reduce){.sequence-feature{animation:none}}.heartbeat-app .heart-phone{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:auto;min-height:0;aspect-ratio:10 / 18.8}.heartbeat-app .heart-status{min-height:46px;flex-shrink:0}.heartbeat-app .heart-phone-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:12px;scrollbar-width:thin}@media(min-width:761px){.sequence-sticky .heartbeat-app{display:flex;flex-direction:column;min-width:0;min-height:0}.sequence-sticky .heart-phones{flex:1 1 0;width:100%;min-width:0;min-height:0;align-items:center}.sequence-sticky .heart-phone{width:auto;height:100%;max-width:100%;max-height:100%;justify-self:center}.sequence-sticky .heart-phone-content{height:auto;min-height:0}}@media(min-width:761px)and (max-width:1099px){.sequence-sticky .heart-phones{grid-template-columns:minmax(0,1fr);max-width:275px}.sequence-sticky .heart-phone--second{display:none}}@media(max-width:760px){.heartbeat-app .heart-phone{max-width:340px}.heartbeat-app .heart-phone-content{padding-bottom:14px}}@media(prefers-reduced-motion:reduce){.heartbeat-app .heart-phone-content{overscroll-behavior:auto}}
