:root{--t-1:.24s;--t-2:.6s;--t-3:1.2s;--t-4:2.4s;--ease-write:cubic-bezier(.3,0,.5,1);--ease-print:cubic-bezier(.16,1,.3,1);--ease-light:cubic-bezier(.45,0,.55,1)}.hero{padding-top:56px;padding-bottom:64px}.hero h1{max-width:1050px}.project{border-bottom:1px solid var(--line);grid-template-columns:4fr 7fr;align-items:center;gap:64px;padding:52px 0;display:grid}.page-header{padding:58px 0 48px}.back-link{color:var(--muted);font-size:13px}.case-deck{max-width:760px;margin-top:25px;font-size:22px;line-height:1.6}.decision-pullquote{border-left:2px solid var(--bone);max-width:850px;margin:72px 0 72px 24%;padding:42px 0 42px 34px}.decision-pullquote h2{font-size:32px;line-height:1.3}.decision-pullquote>p:last-child{margin:20px 0 0;font-size:19px}.case-reading{grid-template-columns:220px minmax(0,720px);justify-content:space-between;gap:54px;display:grid}.case-toc{align-self:start;position:sticky;top:32px}.case-toc nav{flex-direction:column;gap:3px;margin-bottom:20px;display:flex}.case-toc nav a{color:var(--muted);min-height:35px;transition:color var(--t-1) var(--ease-light),border-color var(--t-1) var(--ease-light),padding-left var(--t-1) var(--ease-print);padding:6px 0;font-size:12px}.case-toc nav a:hover{color:var(--bone)}.case-toc nav a.is-active{color:var(--bone);border-left:2px solid var(--bone);padding-left:8px;font-weight:600}.prose{min-width:0;font-size:18px;line-height:1.8}.prose h2{margin:54px 0 22px;font-size:30px;line-height:1.35}.prose h2:first-child{margin-top:0}.prose h3{letter-spacing:-.025em;color:var(--bone);margin:34px 0 17px;font-size:23px;line-height:1.4}.prose p{margin:0 0 22px}.prose a:where(:not(.button)){color:var(--bone);text-underline-offset:4px;text-decoration:underline}.prose li{color:var(--muted);margin-bottom:16px}.prose strong{color:var(--text);font-weight:500}.walkthrough>h2{margin-bottom:22px}.media-note{max-width:760px;font-size:15px}.walkthrough video{background:var(--surface);border:1px solid var(--line);border-radius:12px;width:100%;max-height:700px}.next-case{border-top:1px solid var(--line);margin-top:96px;padding-top:32px}.next-case>a{letter-spacing:-.04em;justify-content:space-between;align-items:center;font-size:clamp(38px,5vw,64px);display:flex}.next-case>a span{color:var(--bone)}.page-header{padding-top:70px}.page-header .actions{margin:32px 0 24px}.about-grid{grid-template-columns:1fr 2fr;gap:100px;margin-top:30px;display:grid}.identity-block{border:1px solid var(--line);background:var(--surface);transition:border-color var(--t-1) var(--ease-light),box-shadow var(--t-1) var(--ease-light);border-radius:12px;align-self:start;padding:32px;box-shadow:inset 0 1px #ffffff12,8px 12px 32px -8px #00000073}.identity-block:hover,.replay:hover{border-color:var(--gray-5)}.identity-initials{letter-spacing:-12px;margin-bottom:28px;font-size:100px;line-height:1.4;display:block}.identity-initials>span{vertical-align:top;color:var(--bone);letter-spacing:0;margin-left:15px;font-size:32px}.identity-block p{color:var(--text);margin-bottom:0;font-size:17px}.education>div{border-top:1px solid var(--line);padding:24px 0}.education span{color:var(--bone);font-size:12px}.education h3{color:var(--text);margin:6px 0;font-size:21px}.education p{font-size:15px}.open-source-copy{max-width:740px;margin-inline:auto}.replay{background:var(--surface);border:1px solid var(--line);transition:border-color var(--t-1) var(--ease-light),box-shadow var(--t-1) var(--ease-light);border-radius:12px;padding:36px;box-shadow:inset 0 1px #ffffff12,8px 12px 32px -8px #00000073}.replay-top{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.replay-top h2{font-size:30px;line-height:1.25}.status-tag{color:var(--muted);border:1px solid #686561;border-radius:5px;flex-shrink:0;max-width:230px;padding:7px 10px;font-size:11px;line-height:1.5}.replay-controls{align-items:center;gap:24px;margin-bottom:28px;display:flex}.replay-controls label{font-size:14px}.replay select{background:var(--bg);border:1px solid var(--gray-5);border-radius:7px;max-width:100%;min-height:46px;padding:10px 14px;font-size:14px}.replay-live h3{margin-bottom:18px;font-size:25px}.replay-live>p:not(.eyebrow){max-width:800px;min-height:54px;font-size:16px}.replay-live pre{min-height:270px;max-height:360px}.replay-buttons{justify-content:space-between;gap:20px;display:flex}.replay-static ol{padding-left:24px}.replay-static li{padding:12px 0}.replay-static li>p{margin-bottom:0}.replay-static pre{max-height:300px}@media (width<=1000px){.project{grid-template-columns:1fr 1.3fr;gap:36px}.case-reading{grid-template-columns:170px minmax(0,720px);gap:35px}.decision-pullquote{margin-left:20%}.about-grid{grid-template-columns:1fr 2fr;gap:48px}.replay-top{flex-direction:column}}@media (width<=680px){.hero{padding:36px 0 44px}.hero h1{font-size:40px}.project{grid-template-columns:1fr;gap:22px;padding:36px 0}.page-header{padding:36px 0}.case-deck{margin-top:20px;font-size:19px;line-height:1.65}.decision-pullquote{margin:40px 0;padding:18px 0 18px 20px}.decision-pullquote h2{font-size:26px}.decision-pullquote>p:last-child{font-size:17px}.case-reading{display:block}.case-toc{border-bottom:1px solid var(--line);margin-bottom:36px;padding-bottom:20px;position:static}.case-toc nav{flex-flow:wrap;gap:5px 22px}.case-toc nav a{align-items:center;min-height:44px;display:flex}.prose{font-size:17px;line-height:1.8}.prose h2{margin-top:42px;font-size:27px}.prose h3{font-size:21px}.next-case{margin-top:56px}.about-grid{grid-template-columns:1fr;gap:36px}.identity-block{align-items:center;gap:20px;margin-bottom:10px;padding:18px 20px;display:flex}.identity-initials{letter-spacing:-4px;margin-bottom:0;font-size:42px;line-height:1}.identity-initials>span{margin-left:4px;font-size:16px}.identity-block p{margin:0;font-size:15px}.replay{padding:22px 18px}.replay-top h2{font-size:27px}.replay-controls{flex-direction:column;align-items:stretch;gap:10px}.replay-live pre{min-height:250px;max-height:300px}.replay-live h3{font-size:23px}.replay-live>p:not(.eyebrow){min-height:95px}.status-tag{max-width:100%}.open-source-page .page-header h1{font-size:43px}}.identity-block,.replay,.architecture{position:relative;overflow:hidden}.identity-block:before,.replay:before,.architecture:before{content:"";border-radius:inherit;background:radial-gradient(400px circle at var(--mouse-x,-999px) var(--mouse-y,-999px),color-mix(in srgb,var(--bone) 8%,transparent),transparent 50%);opacity:0;transition:opacity var(--t-1) var(--ease-light);pointer-events:none;z-index:1;position:absolute;inset:0}.identity-block:hover:before,.replay:hover:before,.architecture:hover:before{opacity:1}.button{transition:transform var(--t-1) var(--ease-print),background var(--t-1) var(--ease-light),border-color var(--t-1) var(--ease-light),color var(--t-1) var(--ease-light);will-change:transform}.content-page:not(:has(.case-page)){background:radial-gradient(ellipse 90% 55% at 50% 0%,var(--ink-2),transparent 72%),var(--bg)}.page-header{padding-bottom:36px;position:relative}.page-header:after{content:"";background:var(--ink-3);width:min(420px,70%);height:1px;position:absolute;bottom:0;left:0}.about-page .identity-block,.open-source-page .replay,.open-source-page pre{border:1px solid color-mix(in srgb,var(--bone) 20%,transparent);box-shadow:inset 0 0 0 4px #0c0d0e,inset 0 0 0 5px color-mix(in srgb,var(--bone) 12%,transparent)}.missing-page{text-align:center;justify-items:center;gap:30px;padding:clamp(96px,16vh,150px) 0 80px;display:grid}.missing-frame{aspect-ratio:3/2;background:0 0;width:min(560px,86vw);position:relative}.missing-plate{text-align:center;grid-template-columns:auto;justify-items:center;margin:0}.work-entry{border-top:1px solid var(--line);padding:24px 0}.work-period{color:var(--bone);font-size:12px}.work-entry h3{color:var(--text);margin:6px 0 4px;font-size:21px}.work-role{color:var(--gray-7);font-size:15px;font-weight:400}.work-focus{color:var(--gray-7);margin:0 0 10px;font-size:15px}.work-entry ul{gap:6px;margin:0;padding-left:18px;display:grid}.work-entry li{font-size:15px;line-height:1.65}.skill-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;margin:18px 0 8px;display:grid}.skill-group h3{font:500 11px/1.4 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--gray-7);margin:0 0 8px}.skill-group ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.skill-group a{min-height:44px;color:var(--text);gap:2px;padding:6px 0;text-decoration:none;display:grid}.skill-source{color:var(--gray-5);transition:color var(--t-1) var(--ease-light);font-size:12px}.skill-group a:hover .skill-source,.skill-group a:focus-visible .skill-source{color:var(--bone)}.languages{margin:0 0 8px;padding-left:18px}.word-view-row{align-items:center;gap:14px;min-height:36px;margin:18px 0 0;display:flex}.word-view{border:1px solid var(--gray-5);min-height:36px;color:var(--bone);font:500 12px/1 var(--font);letter-spacing:.08em;cursor:pointer;transition:border-color var(--t-1) var(--ease-light),background var(--t-1) var(--ease-light);background:0 0;border-radius:999px;padding:0 14px}.word-view[hidden]{display:none}.word-view[aria-pressed=true]{border-color:var(--bone);background:var(--ink-2)}.word-count{font:12px/1 var(--mono);color:var(--gray-5)}.is-words .seg{box-shadow:inset 0 -1px 0 var(--ink-4);border-radius:2px}.is-words .seg-a{background:var(--ink-2)}.is-words .seg-b{background:var(--ink-3)}@media (width<=680px){.skill-groups{grid-template-columns:1fr}}.demo-host[data-demo-id] .demo-surface{background:0 0;padding:0}.product-app{min-height:560px;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;position:relative}.product-app *{box-sizing:border-box}.product-app .demo-tabs{margin:0 0 22px;padding:0}.product-app .demo-panel{box-shadow:none}.product-app .demo-log{border:0;margin:8px 0 0;padding:6px 0}.product-app .demo-log summary{font-size:12px}.product-app .demo-boundary{font-size:12px;line-height:1.6}.case-demo{min-width:0;margin:32px 0 8px}.al-records{margin:40px 0}.project-kit-link{width:fit-content;margin-top:20px;display:flex}.interactive-trigger img{aspect-ratio:auto!important;height:auto!important}.hero-stage:has([data-demo-host]){grid-template-columns:1fr}.hero-stage:has([data-demo-host]) h1{max-width:950px}.project:has([data-demo-host]){grid-template-columns:1fr}.demo-host .demo-toolbar{align-items:center;padding:12px 18px}.demo-host .demo-toolbar h2{font-size:18px}.demo-host .demo-toolbar .demo-kicker{font-size:9px}.demo-host .demo-feedback{padding:8px 18px}.demo-host .demo-feedback p{font-size:12px}@media (width>=900px){.demo-surface .product-app{aspect-ratio:16/9;flex-direction:column;min-height:0;display:flex;overflow:hidden}.demo-surface .product-app [role=tabpanel]{min-height:0;overflow:auto}}@media (width<=680px){.product-app{min-height:500px}}.interactive-trigger{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:12px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.interactive-trigger img{aspect-ratio:2;object-fit:contain;width:100%}.interactive-trigger:after{content:"";pointer-events:none;background:linear-gradient(135deg,#0000 45%,#111214ad);position:absolute;inset:0}.interactive-trigger:hover,.interactive-trigger:focus-visible{border-color:var(--bone);box-shadow:8px 12px 36px #00000047}.interactive-badge{z-index:1;border:1px solid var(--bone);color:var(--text);background:#111d;border-radius:7px;padding:9px 13px;font-size:12px;line-height:1.3;position:absolute;bottom:16px;right:16px}.interactive-demo-slot{min-width:0}.demo-host{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,12px 20px 44px #00000040}.demo-toolbar{border-bottom:1px solid var(--line);background:#0d0f11;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px;display:flex}.demo-toolbar h2{letter-spacing:-.035em;font-size:24px}.demo-kicker{text-transform:uppercase;letter-spacing:.12em;color:var(--bone);margin:0 0 5px;font-size:10px;line-height:1.4}.demo-toolbar-actions,.demo-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.demo-tool-button{min-height:44px;color:var(--text);background:0 0;border:1px solid #726958;border-radius:6px;padding:8px 12px;font-size:12px}.demo-tool-button:hover{background:var(--ink-2);border-color:var(--bone)}.demo-surface{color:#202124;background:#f2efe9;min-height:340px;padding:20px}.demo-surface:focus{outline:3px solid var(--ink-0);outline-offset:-3px}.demo-tabs{scrollbar-width:thin;border-bottom:1px solid #d3d0c9;gap:4px;margin:0 -20px 20px;padding:0 20px;display:flex;overflow-x:auto}.demo-tab{white-space:nowrap;color:#686660;background:0 0;border:0;border-bottom:2px solid #0000;min-height:44px;padding:9px 12px;font-size:12px}.demo-tab:hover,.demo-tab.is-active{color:#202124;border-bottom-color:var(--ink-0)}.demo-surface .button{border-color:var(--gray-5);gap:8px;min-height:42px;padding:9px 14px;font-size:12px}.demo-surface .button.secondary{color:#37342e;background:0 0;border-color:#8d8980}.demo-surface .button:disabled{opacity:.45;color:#6d6a64}.demo-panel{background:#faf9f6;border:1px solid #d2cec5;border-radius:8px;margin-bottom:14px;padding:16px}.demo-panel pre{color:#e5e2dc;white-space:pre-wrap;background:#232529;border:1px solid #dfdcd5;border-radius:6px;max-height:200px;margin:12px 0 0;padding:12px;font:11px/1.6 Consolas,monospace;overflow:auto}.demo-status{color:#315d40;background:#edf5ed;border:1px solid #b2c6b6;border-radius:5px;padding:6px 9px;font-size:11px;line-height:1.4;display:inline-flex}.demo-dialog{border:1px solid var(--bone);background:var(--surface);border-radius:12px;width:min(1100px,94vw);max-height:94vh;padding:0;overflow:auto}.demo-dialog::backdrop{background:#000d}.demo-dialog .demo-host{box-shadow:none;border:0;border-radius:0}.demo-surface{color-scheme:light;overflow-wrap:anywhere;font-size:14px;line-height:1.65}.demo-surface *{min-width:0}.demo-surface p{color:#514e48;margin:12px 0;font-size:14px;line-height:1.6}.demo-surface h3{color:#24221e;letter-spacing:-.025em;margin:0 0 14px;font-size:21px;line-height:1.4}.demo-surface label{color:#37342e;flex-direction:column;gap:6px;font-size:13px;display:flex}.demo-surface select,.demo-surface input,.demo-surface textarea{color:#25221f;width:100%;max-width:100%;font:inherit;background:#fff;border:1px solid #8b877e;border-radius:5px;min-height:44px;padding:10px}.demo-surface textarea{resize:vertical;line-height:1.7}.demo-button{border:1px solid var(--ink-4);min-height:44px;color:var(--ink-0);white-space:normal;background:#e9dbc4;border-radius:6px;padding:9px 12px;font-size:13px;line-height:1.5}.demo-button:hover{background:#ddd6ca}.demo-button[aria-pressed=true]{background:var(--ink-3);color:#fff;border-color:var(--ink-3)}.demo-button:disabled{cursor:not-allowed;color:#726e67;background:#e7e5df;border-color:#b4afa5}.demo-actions{margin:14px 0}.demo-panel{margin-bottom:14px}.demo-panel pre{font-size:12px}.demo-surface summary{color:#34312b;font-size:13px}.demo-surface details{border-color:#c3bfb6}.demo-surface :focus-visible{outline:3px solid var(--ink-0);outline-offset:2px}.demo-log{max-height:240px;overflow:auto}.demo-log li{color:#46423c;margin:8px 0;font-size:12px}.demo-log small{color:#625e55;display:block}.demo-feedback{border-bottom:1px solid var(--line);background:#1b1d20;padding:10px 20px}.demo-feedback p{color:#e6e1d8;margin:0;font-size:13px;line-height:1.6}.demo-feedback [role=alert]{color:#ffb9a9;border-left:2px solid #ef937e;margin-top:8px;padding-left:10px}.demo-surface input[aria-invalid=true]{border:2px solid #a04431}.demo-dialog .demo-host{min-height:70vh}.demo-dialog .demo-toolbar{z-index:2;position:sticky;top:0}.interactive-trigger:disabled{cursor:default}.interactive-trigger:disabled .interactive-badge{display:none}.interactive-trigger{min-height:160px}.demo-status{color:#514b42;background:#ede9e1;border-color:#c3baac}.demo-status.is-success{color:#315d40;background:#edf5ed;border-color:#b2c6b6}.demo-status.is-error{color:#8d3b31;background:#fff0ed;border-color:#dbb0a8}.demo-guide-bar{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.demo-guide-bar ol{flex-wrap:wrap;flex:320px;gap:6px 18px;margin:0;padding:0;list-style:none;display:flex}.demo-guide-bar li{align-items:center;gap:6px;font-size:12px;line-height:1.4;display:flex}.demo-guide-bar li span{border:1px solid;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:inline-grid}.demo-guide-bar li.is-current{text-underline-offset:4px;font-weight:700;text-decoration:underline}.demo-guide-bar li.is-current span{box-shadow:inset 0 0 0 1px}.demo-guide-bar .demo-button{flex:none}.demo-table-wrap{margin:12px 0;overflow-x:auto}.demo-table{border-collapse:collapse;width:100%}.demo-table caption{text-align:left}@media (width<=680px){.demo-toolbar{flex-direction:column;padding:16px}.demo-toolbar-actions{width:100%}.demo-tool-button{flex:1}.demo-surface{min-height:420px;padding:14px}.demo-tabs{margin-inline:-14px;padding-inline:14px}.demo-actions .button{flex:1}.interactive-badge{padding:8px 10px;font-size:11px;bottom:10px;right:10px}}.demo-host[aria-busy=true]{min-height:240px;position:relative}.demo-host[aria-busy=true]:after{content:"";background:var(--vermilion);width:8px;height:8px;animation:ink-breathe var(--t-2) var(--ease-light) infinite;border-radius:50%;margin:-4px;position:absolute;top:50%;left:50%}.theme-agentlens{--al-bg:var(--ink-0);--al-surface:#111620;--al-surface-elevated:#161c28;--al-border:#222b3d;--al-border-highlight:#33415c;--al-border-glow:#38bdf840;--al-text:#e2e8f0;--al-text-muted:#8493a8;--al-text-dim:#94a3b8;--al-emerald:#10b981;--al-purple:#c084fc;--al-cyan:#38bdf8;background-color:var(--al-bg);color:var(--al-text);font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Geist Sans,sans-serif}.al-dag-panel{background:var(--al-surface);border:1px solid var(--al-border);border-radius:8px;flex-direction:column;gap:20px;padding:24px;display:flex}.al-dag-node{background:var(--al-surface-elevated);border:1px solid var(--al-border);transition:border-color var(--t-1) var(--ease-light), box-shadow var(--t-1) var(--ease-light);border-radius:6px;padding:16px;position:relative}.al-dag-node.is-active{border-color:var(--al-cyan);box-shadow:0 0 16px var(--al-border-glow)}.al-dag-node-header{font-family:var(--mono);color:var(--al-text-dim);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:11px;display:flex}.al-dag-node-title{color:#fff;font-size:15px;font-weight:600}.al-dag-node-desc{color:var(--al-text-muted);margin-top:6px;font-size:13px;line-height:1.5}.al-dag-connector{background:var(--al-border-highlight);width:2px;height:20px;margin:-10px auto;position:relative}.al-dag-connector:after{content:"";border-right:2px solid var(--al-border-highlight);border-bottom:2px solid var(--al-border-highlight);width:8px;height:8px;position:absolute;bottom:0;left:-3px;transform:rotate(45deg)}.theme-storyweave{--sw-bg:var(--ink-0);--sw-paper-dark:#121418;--sw-paper-card:#16181e;--sw-border:#282c35;--sw-border-soft:#1f232b;--sw-text:#f3f0e8;--sw-text-muted:#a39f96;--sw-accent:var(--bone);--sw-ink:var(--sw-text);--sw-ink-muted:var(--sw-text-muted);background-color:var(--sw-bg);color:var(--sw-text);font-family:Newsreader,Georgia,Songti SC,SimSun,serif}.sw-manuscript-canvas{background:var(--sw-paper-card);border:1px solid var(--sw-border-soft);color:var(--sw-text);border-radius:4px;padding:48px 56px;font-size:19px;line-height:2.1;box-shadow:3px 4px 24px #0006}.sw-drop-cap:first-letter{float:left;color:var(--sw-accent);padding-top:4px;padding-bottom:2px;padding-right:14px;font-family:Newsreader,Georgia,serif;font-size:58px;font-weight:600;line-height:.8}.theme-billflow{--bf-bg:var(--ink-0);--bf-surface:#11141c;--bf-surface-alt:#161b26;--bf-border:#222938;--bf-text:#f1f5f9;--bf-text-muted:#8c98a9;--bf-accent:var(--bone);--bf-navy:var(--bf-text);--bf-blue:#38bdf8;--bf-blue-glow:#38bdf833;--bf-emerald:#34d399;--bf-emerald-soft:#34d3991f;background-color:var(--bf-bg);color:var(--bf-text);font-variant-numeric:tabular-nums lining-nums;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Inter,sans-serif}.theme-billflow .decision-pullquote{background:var(--bf-surface)!important}.bf-swimlane{background:var(--bf-surface-alt);border:1px solid var(--bf-border);border-radius:8px;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:36px;padding:16px;display:grid;overflow-x:auto}@media (width<=960px){.bf-swimlane{grid-template-columns:repeat(5,minmax(160px,1fr))}}.bf-stage-card{background:var(--bf-surface);border:1px solid var(--bf-border);border-radius:6px;flex-direction:column;gap:8px;padding:14px;display:flex;position:relative}.bf-stage-card.is-active{border-color:var(--bf-blue);box-shadow:0 0 12px var(--bf-blue-glow)}.bf-stage-num{color:var(--bf-accent);letter-spacing:.1em;font-size:10px;font-weight:700}.bf-stage-name{color:#fff;font-size:13px;font-weight:600}.bf-stage-status{background:var(--bf-surface-alt);width:fit-content;color:var(--bf-text-muted);border-radius:10px;padding:2px 8px;font-size:11px}.bf-stage-status.passed{background:var(--bf-emerald-soft);color:var(--bf-emerald);font-weight:600}.content-page main{padding-top:90px}.content-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:24px;margin-block:100px 40px;padding-block:30px;font-size:13px;display:flex}.content-footer .email{font-size:14px}.motion-home .framed-project{width:min(81vw,calc((100svh - 198px) / var(--fr,.6)))}.framed-project.frame-storyweave{--fr:.6137}.framed-project.frame-agentlens{--fr:.5952}.framed-project.frame-billflow{--fr:.5864}.is-enhanced .scene-stage:has(.framed-project){padding:112px 0 8px}@media (width<=680px){.motion-home .framed-project{width:94vw}.is-enhanced .scene-stage:has(.framed-project){padding:80px 0 120px}}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.home-page{background:var(--ink-0)}.home-page html,html:has(.home-page){scroll-behavior:auto}.motion-home{isolation:isolate;color:var(--bone);background:var(--ink-0);overflow:clip}.paint-layer{z-index:0;pointer-events:none;visibility:hidden;width:100vw;height:100vh;position:fixed;inset:0}.motion-home.paint-enabled .paint-layer{visibility:visible}.motion-home.paint-enabled .motion-scene:not(.ink-off) :is([data-ink-body],[data-material=AL04]){visibility:hidden}.motion-home.paint-enabled .motion-scene:not(.ink-off) .scene-light{display:none}.motion-scene{z-index:1;min-height:100svh;position:relative}.scene-stage{isolation:isolate;justify-content:center;align-items:center;min-height:100svh;padding:90px 0 100px;display:flex;position:relative;overflow:hidden}html.film-js .motion-home:not(.is-still) .motion-scene,.is-enhanced .motion-scene{height:calc(100svh + var(--hold,0px))}.is-enhanced .scene-stage{height:100svh;position:sticky;top:0}.home-page{overflow-anchor:none}.art-position{pointer-events:none;z-index:2;place-items:center;display:grid;position:absolute;inset:0}.motion-scene{--plane:min(84vw,1100px)}.brush-art{width:var(--plane);aspect-ratio:1000/560;transform-origin:50%;position:relative}.brush-svg{z-index:2;width:100%;height:100%;position:relative;overflow:visible}.brush-art-still{z-index:2;width:100%;height:100%;position:absolute;inset:0}.scene-intro .brush-art{width:min(88vw,1360px);transform:none}.framed-project{z-index:6;transform-origin:50%;pointer-events:auto;width:min(76vw,1080px);margin:auto;position:relative}.contact-composition{z-index:6;text-align:center;width:min(90vw,820px);position:relative}.contact-mark{letter-spacing:.22em;color:var(--gray-7);font-size:11.5px;line-height:1}.contact-composition h2{letter-spacing:.01em;color:var(--bone);margin:18px auto 0;font:400 clamp(44px,5vw,80px)/1.12 Newsreader,Georgia,serif}.contact-email{letter-spacing:.01em;min-height:44px;color:var(--bone);overflow-wrap:anywhere;border-bottom:1px solid var(--ink-4);margin-top:28px;padding:8px;font-size:clamp(16px,2vw,24px);display:inline-block}.contact-cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 28px;margin-top:46px;display:flex}.contact-write{background:var(--bone);min-height:44px;color:var(--ink-0);border-radius:999px;align-items:center;gap:12px;padding:14px 24px;font-size:15px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}a.contact-write:hover,a.contact-write:focus-visible{color:var(--ink-0)}.contact-index{flex-wrap:wrap;align-items:center;gap:10px 24px;display:flex}.contact-index a{min-height:44px;color:var(--gray-7);align-items:center;font-size:14px;font-weight:500;display:inline-flex}.contact-index a:hover,.contact-index a:focus-visible{color:var(--bone)}.contact-again{min-height:44px;color:var(--gray-7);align-items:center;margin-top:40px;font-size:13px;font-weight:500;display:inline-flex}.contact-again:hover,.contact-again:focus-visible{color:var(--bone)}.contact-composition :is(h2,a:not(.contact-write)){text-shadow:0 0 14px var(--ink-0),0 0 4px var(--ink-0)}.colophon-stop{color:var(--vermilion)}.contact-composition{padding-top:38px}@media (width<=680px){.contact-composition{margin-top:-35px;padding-top:0}}.contact-plane{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round;width:20px;height:20px;transition:transform var(--t-2) var(--ease-print);overflow:visible}.contact-write:is(:hover,:focus-visible) .contact-plane{transform:translate(3px,-3px)rotate(-8deg)}.contact-plane.is-flying{opacity:0;transition:transform var(--t-2) var(--ease-write),opacity var(--t-2) var(--ease-write);transform:translate(44px,-30px)rotate(-14deg)}html.reduce-motion .contact-plane{transition:none}html.reduce-motion .contact-plane.is-flying{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.contact-plane{transition:none}.contact-plane.is-flying{opacity:1;transform:none}}.contact-composition h2{max-width:calc(var(--plane) * .66);text-wrap:balance}.motion-home.paint-enabled .contact-email{border-bottom-color:#0000}.motion-home.paint-enabled .contact-email:after{content:none}.scene-contact .art-position{opacity:.17;transform:translateY(-24%)}.is-enhanced .motion-scene .brush-art{opacity:1}.is-enhanced .framed-project,.is-enhanced .contact-composition{will-change:opacity}.is-enhanced :is(.framed-project,.contact-composition)[data-ready=false]{pointer-events:none}@media (width<=680px){.framed-project{width:94vw}.scene-stage{padding:80px 0 120px}.scene-intro .brush-art{width:92vw;max-width:100%;transform:none}.motion-scene{--plane:100vw}.contact-index{gap:0 18px}.contact-composition h2{font-size:clamp(32px,9vw,44px)}.content-page main{padding-top:75px}.content-footer{gap:12px}.contact-cta{gap:12px 18px;margin-top:32px}}@media (height<=680px){.is-enhanced .scene-stage{height:100svh;min-height:0;padding:72px 0 105px}.is-enhanced .scene-stage:has(.contact-composition){height:auto;min-height:100svh}.is-enhanced .scene-stage:has(.framed-project){padding:40px 0 36px}.motion-scene{--plane:min(84vw,calc(100svh * 1.35))}.scene-intro .brush-art{width:min(88vw,128svh);transform:none}}.motion-home.is-still .motion-scene{height:auto}.motion-home.is-still .scene-stage{height:auto;min-height:100svh;position:relative}.motion-fallback{z-index:45;width:max-content;max-width:92vw;color:var(--bone);border:1px solid var(--ink-4);text-align:center;background:#191b1ef5;border-radius:6px;margin:0;padding:8px 14px;font-size:13px;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}.motion-fallback[hidden]{display:none}.motion-fallback button{min-height:44px;color:var(--bone);background:0 0;border:0;padding:8px;text-decoration:underline}.ambient-wash{z-index:0;pointer-events:none;opacity:.38;position:absolute;inset:5%}.ambient-wash i{background:radial-gradient(#4a474215,#0000 69%);border-radius:43% 57% 63% 37%;width:68%;height:63%;position:absolute;top:18%;left:16%;transform:rotate(-17deg)}.ambient-wash i+i{background:radial-gradient(#8e887f10,#0000 64%);transform:rotate(31deg)}.scene-light{pointer-events:none;z-index:1;opacity:.75;position:absolute;inset:0}.light-source{background:#f3efe7;border-radius:50%;width:8px;height:3px;position:absolute;top:18%;left:50%;box-shadow:0 0 12px 2px #ede6d866}.light-beam{clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);background:linear-gradient(#ede6d80c,#0000);width:52%;height:74%;position:absolute;top:14%;left:24%}.light-pool{background:radial-gradient(#ede6d810,#0000 68%);position:absolute;inset:20% 15%}.light-afterglow{filter:blur(2px);opacity:0;background:#8e887f;width:8px;height:3px;position:absolute;top:18%;left:49.6%}.light-intro .light-source,.light-intro .light-afterglow,.light-intro .light-beam{display:none}.light-intro .light-pool{background:radial-gradient(#ede6d813,#0000 67%);inset:33% 23% 14%}.light-storyweave .light-source{background:var(--bone);width:30px;height:3px;margin-left:-15px}.light-storyweave .light-beam{background:linear-gradient(color-mix(in srgb,var(--bone) 4%,transparent),color-mix(in srgb,var(--bone) 3%,transparent),transparent);width:60%;left:20%}.light-storyweave .light-pool{background:radial-gradient(ellipse at 50% 38%,color-mix(in srgb,var(--bone) 10%,transparent),transparent 65%)}.light-agentlens .light-source{background:#d0cab4;top:52%;left:49%}.light-agentlens .light-beam{clip-path:ellipse(49% 46%);background:radial-gradient(ellipse,transparent 49%,color-mix(in srgb,var(--bone) 7%,transparent) 51%,transparent 59%);width:76%;height:44%;top:28%;left:12%}.light-agentlens .light-pool{background:radial-gradient(#acb9ba0d,#0000 64%);inset:29% 28%}.light-billflow .light-source{background:#d7cbb0;width:100px;height:2px;top:20%;left:calc(50% - 50px)}.light-billflow .light-beam{clip-path:none;background:linear-gradient(#0000 45%,#d5c6a91f 49%,#ede0c02a 50%,#0000 56%);width:46%;height:52%;top:23%;left:27%}.light-billflow .light-pool{background:radial-gradient(#e8e0c90e,#0000 65%);inset:25% 30%}.light-contact .light-source{width:4px;height:4px;top:43%}.light-contact .light-beam{display:none}.light-contact .light-pool{background:radial-gradient(ellipse,color-mix(in srgb,var(--bone) 6%,transparent),transparent 64%);inset:23% 20%}.scene-agentlens .ambient-wash i{background:radial-gradient(#0000 40%,#9ba7a80b 48%,#0000 65%);border-radius:50%}.scene-billflow .ambient-wash i{background:linear-gradient(120deg,transparent,color-mix(in srgb,var(--bone) 4%,transparent),transparent);border-radius:12%;transform:rotate(4deg)}.scene-contact .ambient-wash{opacity:.22}.book-paper{pointer-events:none}.contact-email{position:relative}.contact-email:after{content:"";background:var(--bone);height:1px;transition:left var(--t-1) var(--ease-write),right var(--t-1) var(--ease-write);position:absolute;bottom:-1px;left:50%;right:50%}.contact-email:hover:after,.contact-email:focus-visible:after{left:8px;right:8px}:is(.light-storyweave,.light-agentlens,.light-billflow) :is(.light-source,.light-beam){display:none}.film-rail{z-index:40;pointer-events:none;flex-direction:column;align-items:flex-end;gap:18px;display:flex;position:fixed;top:50%;right:clamp(8px,1.6vw,26px);transform:translateY(-50%)}.film-rail[hidden]{display:none}.film-rail ol{flex-direction:column;gap:clamp(10px,3.2svh,30px);margin:0;padding:0;list-style:none;display:flex;position:relative}.rail-track{position:relative}.rail-line{pointer-events:none;width:1px;position:absolute;top:22px;bottom:22px;right:18px}.rail-node{pointer-events:auto;width:44px;min-height:44px;color:var(--gray-7);background:0 0;border:0;justify-content:flex-end;align-items:center;padding:0 15px 0 0;display:flex;position:relative}.rail-dot{border:1px solid var(--gray-5);background:var(--ink-0);width:7px;height:7px;transition:background var(--t-1) var(--ease-light),box-shadow var(--t-1) var(--ease-light),transform var(--t-1) var(--ease-print);border-radius:50%}.rail-node[aria-current] .rail-dot{background:var(--bone);box-shadow:0 0 0 3px color-mix(in srgb,var(--bone) 13%,transparent),0 0 12px color-mix(in srgb,var(--bone) 53%,transparent);transform:scale(1.25)}.rail-label{letter-spacing:.12em;white-space:nowrap;opacity:0;transition:opacity var(--t-1) var(--ease-light);text-shadow:1px 1px 6px #000;pointer-events:none;font-size:11px;position:absolute;top:50%;right:34px;transform:translateY(-50%)}.rail-node:hover .rail-label,.rail-node:focus-visible .rail-label{opacity:1;transform:translateY(-50%)}@media (width>=681px){.film-rail[data-room=true]:not([data-hung=true]) .rail-node:not(:hover):not(:focus-visible)[aria-current] .rail-label{opacity:1;transform:translateY(-50%)}}.film-rail[data-hung=true] .rail-node:not(:hover):not(:focus-visible) .rail-label{opacity:0}.fp-play:focus-visible{background-image:url(/media/focus-ring.svg);background-position:50%;background-repeat:no-repeat;background-size:40px;outline:none}.rail-node:focus-visible{background:url(/media/focus-ring.svg) calc(100% - 4px)/30px no-repeat;outline:none}@media (forced-colors:active){:is(.fp-play,.rail-node):focus-visible{outline-offset:2px;background-image:none;outline:2px solid canvastext}}@media (width<=680px){.rail-node:focus-visible{background-position:50%;background-size:28px}.film-rail{top:auto;bottom:max(6px,env(safe-area-inset-bottom));flex-direction:row;align-items:center;gap:2px;left:6px;right:auto;transform:none}.film-rail ol{flex-direction:row;gap:0}.rail-label{clip:rect(0,0,0,0);white-space:nowrap;opacity:1;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.rail-node{justify-content:center;width:32px;padding:0}.rail-line{width:auto;height:1px;inset:50% 16px auto}}@media (height<=560px){.film-rail ol{gap:0}.rail-node{min-height:36px}}@media (height<=560px) and (width>=681px){.rail-line{top:18px;bottom:18px}}.motion-home.demo-open .film-rail{visibility:hidden}.rail-helix,.rail-hit{width:73px;position:absolute;top:0;bottom:0;left:-36px}.rail-helix{height:100%}.rail-hit{pointer-events:auto;width:33px;left:-16px}@media (width<=680px){.rail-helix,.rail-hit{width:auto;height:41px;inset:-20px 0 auto}.rail-helix{width:100%}.rail-hit{height:33px;top:-16px}.film-rail:not([data-hung=true]) .rail-node[aria-current] .rail-label{clip:auto;width:auto;height:auto;margin:0;font-size:10px;inset:auto auto calc(100% + 2px) 50%;overflow:visible;transform:translate(-50%)}}.film-rail li+li{transition:opacity var(--t-3) var(--ease-light)}.film-rail[data-hung=true] li+li{opacity:0;pointer-events:none}.film-rail:not([data-mode]) :is(ol,.rail-line){visibility:hidden}.film-rail li+li .rail-node{opacity:calc(.22 + .78*var(--rail-nodes,1))}.film-rail li+li .rail-node:focus-visible{opacity:1}.rail-node[data-state=done] .rail-dot{background:var(--gray-7);border-color:var(--bone)}.film-rail li:first-child .rail-dot{transition:background var(--t-1) var(--ease-light),box-shadow var(--t-1) var(--ease-light);transform:scale(calc(1 + .9*var(--receipt-pulse,0)))}.film-rail li:first-child .rail-node[aria-current] .rail-dot{transform:scale(calc(1.25 + .9*var(--receipt-pulse,0)))}.rail-mark{flex:none;width:16px;height:16px;margin-right:-4.5px;overflow:visible}.rail-mark circle{fill:var(--ink-0)}.rail-mark path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1}.mark-trace{stroke:var(--gray-5);stroke-width:1px;stroke-opacity:.7;stroke-dashoffset:calc(1 - clamp(0,(var(--draw,0) - var(--c0))/var(--len),1))}.mark-ink{stroke:var(--bone);stroke-width:1.9px;stroke-dashoffset:calc(1 - clamp(0,(var(--fill,0) - var(--c0))/var(--len),1))}.rail-node[aria-current] .rail-mark{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--bone) 60%,transparent))}@media (width<=680px){.rail-mark{width:14px;height:14px;margin:0}}html[data-cursor=custom],html[data-cursor=custom] *{cursor:none!important}.site-cursor{display:contents}.site-cursor[hidden]{display:none}.cursor-lights{z-index:99;pointer-events:none;mix-blend-mode:screen;position:fixed;inset:0;overflow:hidden}.cursor-pool,.cursor-light{will-change:transform;position:absolute;top:0;left:0}.cursor-light{filter:blur(9px)}.cursor-hand{z-index:100;pointer-events:none;will-change:transform;width:0;height:0;transition:opacity var(--t-1) var(--ease-light);position:fixed;top:0;left:0}.lantern{position:absolute;top:-26px;left:-7px;overflow:visible}.ln-body{fill:#161412;stroke:var(--bone);stroke-width:1.1px;stroke-linejoin:round}.ln-line{fill:none;stroke:var(--bone);stroke-width:1.1px;stroke-linecap:round}.ln-wire{fill:none;stroke:var(--bone);stroke-width:.8px;opacity:.75}.ln-edge{fill:none;stroke:var(--bone);stroke-opacity:.75;stroke-width:.9px}.ln-smoke path{fill:none;stroke:var(--gray-5);stroke-width:1px;stroke-linecap:round;stroke-dasharray:4 3}.cursor-badge{color:var(--bone);white-space:nowrap;font:500 12px/1 ui-monospace,Consolas,monospace;position:absolute;top:0;left:0;transform:translate(12px,-25px)}.site-cursor i{background:var(--vermilion);width:3px;height:3px;box-shadow:0 0 4px color-mix(in srgb,var(--vermilion) 70%,transparent);opacity:var(--lit,0);border-radius:50%;position:absolute;top:-1.5px;left:-1.5px}.ln-lit{filter:brightness(1.18)}:is(.frame-edge,.painting-frame).ln-lit{filter:brightness(1.06)}html[data-loupe] .site-cursor :is(.cursor-hand,.cursor-lights){opacity:0}@media (forced-colors:active){.site-cursor{display:none}}.design-layer{z-index:70;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.design-layer[hidden]{display:none}.dl-grid line{stroke:var(--cyan);stroke-opacity:.06;stroke-width:1px}.dl-grid line.dl-strong{stroke-opacity:.12}.dl-grid line.dl-col{stroke-opacity:.18}.dl-marks path{stroke:var(--cyan);stroke-opacity:.8;stroke-width:1px;fill:none}.dl-frame{fill:none;stroke:var(--cyan);stroke-opacity:.6;stroke-dasharray:4 4}.dl-plane *{vector-effect:non-scaling-stroke}.dl-bones path{fill:none;stroke:var(--cyan);stroke-width:1.5px;stroke-linecap:round}.dl-ticks path{fill:none;stroke:var(--cyan);stroke-width:1px;stroke-opacity:.3}.dl-ticks path[data-on]{stroke-opacity:.85}.dl-lamps circle{fill:none;stroke:var(--cyan);stroke-width:1.2px}.dl-lamps path{fill:none;stroke:var(--cyan);stroke-width:1px;stroke-opacity:.8}.dl-cells path{fill:none;stroke:var(--cyan);stroke-opacity:.3;stroke-width:.75px}.dl-speed rect{fill:#0b0c0dcc;stroke:color-mix(in srgb,var(--cyan) 35%,transparent)}.dl-speed path{fill:none;stroke:var(--cyan);stroke-width:1.2px}.dl-now{stroke:var(--cyan);stroke-width:1.5px}.film-controls{z-index:48;top:max(14px,env(safe-area-inset-top));flex-direction:column;align-items:flex-end;display:flex;position:fixed;right:clamp(8px,1.6vw,26px)}.film-locale,.film-control{letter-spacing:.06em;min-height:32px;color:var(--gray-7);white-space:nowrap;background:0 0;border:0;align-items:center;gap:12px;padding:0 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.film-locale:hover,.film-locale:focus-visible,.film-control:hover,.film-control:focus-visible{color:var(--bone)}.film-control[hidden]{display:none}.motion-home.demo-open .film-controls{visibility:hidden}@media (width<=680px){.film-controls{flex-direction:row;align-items:center;top:6px;left:4px;right:auto}.film-locale,.film-control{gap:8px;min-height:44px;padding:0 7px}.film-control:before{content:"";background:var(--ink-4);border-radius:50%;width:3px;height:3px;margin-left:-7px}}.ink-wait{z-index:30;opacity:0;pointer-events:none;transition:opacity var(--t-1) var(--ease-light);margin:-4px;position:fixed;top:50%;left:50%}.ink-dot.ink-wait{animation-play-state:paused}.motion-home[data-ink-wait=true] .ink-dot.ink-wait{opacity:1;transition-delay:var(--t-2);animation-play-state:running}.case-painting{transform-origin:50% 30%;width:min(100%,1120px);transform:scale(calc(1 + var(--read,0) * .05));filter:brightness(calc(1 - var(--read,0) * .35));margin:28px auto 8px}.painting-canvas{aspect-ratio:1330/835;background:#141516;position:relative;overflow:hidden}.painting-canvas svg{width:100%;height:100%;display:block}.painting-light{pointer-events:none;mix-blend-mode:screen;position:absolute;inset:0}@keyframes light-breathe{0%,to{opacity:.78}50%{opacity:1}}.painting-storyweave .painting-canvas{background:var(--ink-1);border-radius:3px}.painting-storyweave .painting-light{background:radial-gradient(ellipse 60% 55% at 50% 12%,color-mix(in srgb,var(--bone) 20%,transparent),transparent 70%);animation:light-breathe calc(var(--t-4) * 4) var(--ease-light) infinite}.painting-agentlens .painting-canvas{background:#191a1b}.painting-agentlens .painting-light{background:radial-gradient(ellipse 62% 58% at 30% 20%,color-mix(in srgb,var(--bone) 14%,transparent),transparent 72%),radial-gradient(ellipse at 50% 50%,transparent 45%,#05080acc 100%);animation:light-breathe calc(var(--t-4) * 3) var(--ease-light) infinite}.painting-billflow .painting-canvas{background:#141515}.painting-billflow .painting-light{background:linear-gradient(95deg,color-mix(in srgb,var(--bone) 20%,transparent),transparent 42%);animation:light-breathe calc(var(--t-4) * 2) var(--ease-light) infinite}.case-reveal{filter:brightness(.45);transition:filter var(--t-2) var(--ease-light)}.case-reveal.is-read{filter:none}html.reduce-motion .case-reveal{filter:none;transition:none}@media (width<=680px){.case-painting{margin-top:12px}}:root{--mat-dark:#1c1a18}.frame-f1{--ft:calc(var(--f1-t)/var(--f1-scale,1));box-sizing:border-box;pointer-events:none;border:var(--ft) solid;box-shadow:inset calc(2px/var(--f1-scale,1)) calc(3px/var(--f1-scale,1)) calc(6px/var(--f1-scale,1)) #000c,inset 0 0 0 calc(var(--f1-m)/var(--f1-scale,1)) var(--mat-dark),calc(7px/var(--f1-scale,1)) calc(12px/var(--f1-scale,1)) calc(16px/var(--f1-scale,1)) #000a;border-image:linear-gradient(to bottom right,#47352a,#2a1f19) 1}.frame-f1:before,.frame-f1 .f1-lip{content:"";pointer-events:none;position:absolute}.frame-f1:before{inset:calc(-1*var(--ft));border:max(calc(1.5px/var(--f1-scale,1)),calc(var(--ft)*.22)) solid;border-color:#5b473a #241a15 #1f1712 #4f3d31}.frame-f1 .f1-lip{inset:calc(-.22*var(--ft));border:calc(var(--ft)*.22) solid;border-color:#211812 #4a382c #4d3a2e #1d1510}.frame-f1:after{content:"";inset:calc((var(--f1-m) - 1px)/var(--f1-scale,1));border:calc(1px/var(--f1-scale,1)) solid #ede6d81c;pointer-events:none;position:absolute}.frame-edge,.painting-frame{--t:4;--liner:0;--p:calc(var(--t) + var(--liner));--u:calc(1cqi / (1 - var(--p) * .02));padding:calc(var(--p)*1%);background:0 0;border:0;border-radius:0;position:relative;box-shadow:7px 12px 16px #000a;container-type:inline-size}.frame-storyweave .frame-edge,.painting-storyweave .painting-frame{--t:4.5;--liner:1.6}.frame-agentlens .frame-edge,.painting-agentlens .painting-frame{--t:4}.frame-billflow .frame-edge,.painting-billflow .painting-frame{--t:3}.fb,.fr,.fl{pointer-events:none;position:absolute}.fb{inset:calc(var(--a)*var(--t)*var(--u));border:calc(var(--w)*var(--t)*var(--u)) solid;border-color:var(--c)}.fr{--rw-px:max(1px,calc(var(--rw)*var(--t)*var(--u)));inset:calc(var(--at)*var(--t)*var(--u) - var(--rw-px)/2);border:var(--rw-px) solid var(--c)}.fl{inset:calc(var(--t)*var(--u));border:calc(var(--liner)*var(--u)) solid transparent;-webkit-mask-composite:xor;background:repeating-linear-gradient(90deg,#ffffff05 0 1px,#0000 1px 3px) border-box,repeating-linear-gradient(0deg,#ffffff04 0 1px,#0000 1px 3px) border-box,#24211d border-box;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:padding-box,border-box;mask-clip:padding-box,border-box;-webkit-mask-origin:padding-box,border-box;mask-origin:padding-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.frame-storyweave .frame-edge:after,.painting-storyweave .painting-frame:after{content:"";inset:calc(var(--t)*var(--u));pointer-events:none;position:absolute;box-shadow:inset 2px 3px 6px #000c}.frame-storyweave .frame-window,.painting-storyweave .painting-canvas{box-shadow:inset 1px 1px 3px #000a}.frame-edge>.frame-window,.painting-frame>.painting-canvas{z-index:1;position:relative}.frame-window{aspect-ratio:1000/560}.frame-window .painting,.frame-window .art-position{display:block;position:absolute;inset:0}button.painting{z-index:2;cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0}button.painting:focus-visible{outline:2px solid var(--bone);outline-offset:-6px}body:has(.motion-home.work-open) .music-button{visibility:hidden}.motion-home .framed-project a.wall-label{transition:opacity var(--t-2) var(--ease-light)}.motion-home.wp-in .framed-project a.wall-label{opacity:0;visibility:hidden;transition:opacity var(--t-2) var(--ease-light),visibility 0s var(--t-2)}.wall-label.wp-label{z-index:40;opacity:0;max-width:calc(100vw - 64px);transition:opacity var(--t-2) var(--ease-light),background-color var(--t-2) var(--ease-light);background:#100f0ed9;border-radius:8px;margin:0;padding:14px 18px;position:fixed;bottom:28px;left:32px}.motion-home.wp-in .wp-label{opacity:1}@starting-style{.motion-home.wp-in .wp-label{opacity:0}}.wp-back{z-index:40;border:1px solid var(--bone);min-height:44px;color:var(--bone);letter-spacing:.04em;background:#0e0d0ce6;border-radius:999px;padding:10px 16px;font-size:13px;position:fixed;top:20px;left:24px}:is(.wp-label,.wp-back)[hidden]{display:none}.wp-demo{z-index:34;overscroll-behavior:contain;opacity:0;transition:opacity var(--t-2) var(--ease-light);background:#f4efe6;padding:76px 32px 136px;display:grid;position:fixed;inset:0;overflow:auto}.wp-demo.is-shown{opacity:1}.wp-demo.is-shown~.wp-label{background:var(--ink-0)}.wp-demo[hidden]{display:none}.wp-demo-slot{width:min(100%,1280px,max(560px,177.778svh - 501.333px));margin:auto}.wp-demo .demo-load-error{color:#37342e;margin:auto}html:has(.wp-demo.is-shown){padding-right:var(--wp-gap,0px);overflow:hidden}@media (width<=899px){.wp-demo{padding:76px 16px 160px}.wp-demo-slot{width:100%}}.frame-window .brush-art{width:100%;height:100%}.missing-frame.frame-f1{--f1-t:8px;--f1-m:28px;position:relative}.wall-label{width:max-content;max-width:min(100%,46ch);color:var(--bone);margin:22px 0 0;text-decoration:none;display:block}.wall-label .plate-numeral{color:var(--vermilion);margin-right:10px;font:italic 400 20px/1 Newsreader,Georgia,serif}.wall-name{transition:background-size var(--t-2) var(--ease-print);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:3px;font:400 20px/1.2 Newsreader,Georgia,serif}a.wall-label:hover,a.wall-label:focus-visible{color:var(--bone)}a.wall-label:hover .wall-name,a.wall-label:focus-visible .wall-name{background-size:100% 1px}.wall-intro{color:var(--gray-7);margin:8px 0 0;font-size:13px;line-height:1.55;display:block}.wall-more{vertical-align:4px;border:1px solid color-mix(in srgb,var(--bone) 55%,transparent);letter-spacing:.04em;white-space:nowrap;min-height:28px;color:var(--bone);transition:background-color var(--t-2) var(--ease-light),color var(--t-2) var(--ease-light);border-radius:999px;align-items:center;margin-left:14px;padding:0 12px;font-size:12px;line-height:1;display:inline-flex}.wall-arrow{margin-left:.45em}a.wall-label:hover .wall-more,a.wall-label:focus-visible .wall-more{background:var(--bone);color:var(--ink-0)}a.wall-label:focus-visible{outline:2px solid var(--bone);outline-offset:6px}.case-painting .painting-frame{padding:calc(var(--p)*0.96%);margin-inline:2%}.case-painting .wall-label{margin-inline:2%}.scene-intro .scene-stage{--fp-w:42vw;--fp-t:calc(var(--fp-w)*.016);--fp-m:calc(var(--fp-w)*.06);--fp-s:.356;--fp-x:22vw;--fp-top:33svh;--fp-y:calc(var(--fp-top) + var(--fp-t) + var(--fp-m) + 50svh*var(--fp-s) - 50svh);--k:var(--push,0);--ks:pow(var(--fp-s),calc(1 - var(--k)));--kx:calc((1 - var(--k))*var(--ks)/var(--fp-s));--fp-right:calc(50vw + var(--fp-x) + 50vw*var(--fp-s) + var(--fp-t) + var(--fp-m));--fp-bottom:calc(50svh + var(--fp-y) + 50svh*var(--fp-s) + var(--fp-t) + var(--fp-m));padding:0;display:block}.fp-figure{pointer-events:none;margin:0;position:absolute;inset:0}.fp-view{transform-origin:50%;transform:translate(calc(var(--fp-x)*var(--kx)),calc(var(--fp-y)*var(--kx))) scale(var(--ks));will-change:transform;position:absolute;inset:0}.fp-canvas{background:repeating-linear-gradient(90deg,#ffffff03 0 1px,transparent 1px 3px),repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 4px),var(--ink-0);transition:background-color var(--t-2) var(--ease-light);position:absolute;inset:0}.fp-frame{inset:calc(-1*(var(--fp-t) + var(--fp-m))/var(--fp-s));--f1-t:var(--fp-t);--f1-m:var(--fp-m);--f1-scale:var(--fp-s);opacity:var(--fp-edge,1);position:absolute}.motion-home.paint-enabled .fp-canvas{background:0 0}.fp-column{z-index:6;color:var(--bone);pointer-events:none;opacity:clamp(0,calc(1 - var(--k)*2),1);translate:calc(min(var(--k)*2,1)*-24px) 0;filter:blur(calc(min(var(--k)*2,1)*6px));position:absolute;inset:0}.fp-tagline,.fp-id{pointer-events:auto}.fp-temperature{opacity:max(calc(1 - var(--k)*2),calc(var(--k)*2 - 1))}.fp-tagline{letter-spacing:.01em;text-wrap:balance;width:52vw;min-height:2.24em;margin:0;font:400 clamp(44px,5.2vw,84px)/1.12 Newsreader,Noto Serif SC Display,Noto Serif SC,Georgia,serif;position:absolute;top:17svh;left:8vw}html[lang=zh-CN] .fp-tagline{letter-spacing:.02em;font-family:Noto Serif SC Display,Noto Serif SC,Songti SC,serif}.fp-id{width:min(36vw,520px);left:8vw;bottom:calc(100svh - var(--fp-bottom));position:absolute}.fp-identity{letter-spacing:.01em;align-items:baseline;gap:.5em;margin:0 0 14px;font:italic 400 clamp(28px,2.6vw,40px)/1 Newsreader,Georgia,serif;display:flex}.fp-name-zh{letter-spacing:.12em;color:var(--gray-7);font:400 .5em/1 Zhuque Fangsong Name,Noto Serif SC Display,Noto Serif SC,Songti SC,serif}.fp-role{letter-spacing:.24em;text-transform:uppercase;color:var(--gray-7);margin:0 0 12px;font-size:11.5px;line-height:1.5}.fp-lede{max-width:36em;color:var(--gray-7);margin:0 0 22px;font-size:15px;line-height:1.65}html[lang=zh-CN] .fp-lede{max-width:36ch}.fp-cta{border:1px solid color-mix(in srgb,var(--bone) 60%,transparent);letter-spacing:.04em;min-height:44px;color:var(--bone);border-radius:999px;align-items:center;gap:.6em;padding:0 20px;font-size:14px;display:inline-flex}.fp-cta:hover,.fp-cta:focus-visible{background:var(--bone);color:var(--ink-0)}.fp-temperature{z-index:6;left:var(--fp-right);top:calc(var(--fp-bottom) + 14px);font:500 11px/1 var(--mono);color:var(--gray-7);white-space:nowrap;align-items:center;gap:10px;margin:0;display:flex;position:absolute;transform:translate(-100%)}.fp-temperature input{appearance:none;background:0 0;width:110px;height:16px;margin:0}.fp-temperature input::-webkit-slider-runnable-track{background:var(--ink-4);height:1px}.fp-temperature input::-webkit-slider-thumb{appearance:none;background:var(--bone);border-radius:50%;width:11px;height:11px;margin-top:-5px}.fp-temperature input::-moz-range-track{background:var(--ink-4);height:1px}.fp-temperature input::-moz-range-thumb{background:var(--bone);border:0;border-radius:50%;width:11px;height:11px}.fp-temperature input:disabled{opacity:.35}.fp-temp-state{border:1px solid var(--ink-3);text-align:center;min-width:7.5em;transition:color var(--t-1) var(--ease-light),border-color var(--t-1) var(--ease-light),background-color var(--t-1) var(--ease-light);border-radius:999px;padding:3px 8px}.fp-temperature[data-level=mid] .fp-temp-state{color:var(--bone);border-color:color-mix(in srgb,var(--vermilion) 50%,transparent)}.fp-temperature[data-level=high] .fp-temp-state{color:var(--ink-0);background:var(--vermilion);border-color:var(--vermilion)}html:not(.film-js) .fp-temperature{display:none}.fp-cue{z-index:6;white-space:nowrap;border:1px solid color-mix(in srgb,var(--bone) 44%,transparent);background:color-mix(in srgb,var(--ink-0) 80%,transparent);min-height:44px;color:var(--bone);letter-spacing:.14em;opacity:clamp(0,calc(1 - var(--k)/.03),1);pointer-events:auto;border-radius:999px;align-items:center;gap:12px;padding:0 22px;font-size:13px;display:inline-flex;position:absolute;bottom:max(5svh,20px);left:50%;translate:-50%}.fp-cue:before{content:"";border:1px solid var(--bone);border-radius:inherit;opacity:0;animation:fp-cue-breath var(--t-4) var(--ease-light) infinite;pointer-events:none;position:absolute;inset:-1px}@keyframes fp-cue-breath{50%{opacity:.45;transform:scale(1.05)}}.fp-cue-run{background:color-mix(in srgb,var(--bone) 15%,transparent);width:2px;height:20px;position:relative;overflow:hidden}.fp-cue-run:after{content:"";background:var(--bone);width:2px;height:10px;animation:fp-cue-run calc(var(--t-4)*.75) linear infinite;position:absolute;top:0;left:0}@keyframes fp-cue-run{0%{transform:translateY(-10px)}to{transform:translateY(20px)}}.fp-cue:hover,.fp-cue:focus-visible{border-color:var(--bone)}.fp-play{--cw:calc(100vw*var(--ks));--ch:calc(100svh*var(--ks));--cx:calc(50vw + var(--fp-x)*var(--kx));--cy:calc(50svh + var(--fp-y)*var(--kx));z-index:6;left:calc(var(--cx) + var(--cw)/2 - 56px);top:calc(var(--cy) + var(--ch)/2 - 56px);background:color-mix(in srgb,var(--ink-1) 82%,transparent);width:44px;height:44px;color:var(--bone);cursor:pointer;pointer-events:auto;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.fp-play[hidden]{display:none}.fp-play svg{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linejoin:round;width:36px;height:36px}.fp-play:hover svg circle{stroke:var(--gray-7)}.fp-play:focus-visible{outline:2px solid var(--bone);outline-offset:3px}@media (width<=599px),(aspect-ratio<=1){.scene-intro .scene-stage{--fp-w:92vw;--fp-m:calc(var(--fp-w)*.045);--fp-s:.808;--fp-x:0px;--fp-canvas-h:calc(92vw*.56*1.7);--fp-top:340px;--fp-y:calc(var(--fp-top) + var(--fp-t) + var(--fp-m) + var(--fp-canvas-h)*var(--fp-s)/2 - 50svh);--fp-bottom:calc(var(--fp-top) + 2*(var(--fp-t) + var(--fp-m)) + var(--fp-canvas-h)*var(--fp-s));--fp-edge:clamp(0,calc((1 - var(--k))/.3),1)}.fp-canvas{inset:auto 0;top:calc(50% - var(--fp-canvas-h)/2);height:var(--fp-canvas-h)}.fp-frame{--fp-o:calc((var(--fp-t) + var(--fp-m))/var(--fp-s));inset:auto calc(-1*var(--fp-o));top:calc(50% - var(--fp-canvas-h)/2 - var(--fp-o));height:calc(var(--fp-canvas-h) + 2*var(--fp-o))}.fp-play{--ch:calc(var(--fp-canvas-h)*var(--ks))}.fp-column{flex-direction:column;display:flex;inset:58px 20px auto}.fp-tagline,.fp-id{width:auto;position:static}.fp-tagline{min-height:2.32em;margin-bottom:14px;font-size:clamp(30px,9vw,44px);line-height:1.16}.fp-identity{margin-bottom:6px;font-size:22px}.fp-role{letter-spacing:.14em;margin-bottom:8px;font-size:10px}.fp-lede{margin-bottom:10px;font-size:14px;line-height:1.55}.fp-temperature{top:calc(var(--fp-bottom) + 12px)}.fp-temp-state{min-width:0}.fp-cue{letter-spacing:.1em;padding:0 18px;font-size:12px}}@media (width>=600px) and (width<=1099px) and (aspect-ratio<=1){.scene-intro .scene-stage{--fp-w:78vw;--fp-s:.685;--fp-top:420px}}@media (aspect-ratio>=1) and (height<=560px){.fp-lede{display:none}.fp-tagline{font-size:clamp(28px,4vw,40px);top:12svh}.fp-identity{margin-bottom:8px;font-size:20px}.fp-role{margin-bottom:10px;font-size:9px}.fp-cta{min-height:40px}.fp-cue{left:clamp(16px,2.5vw,36px);translate:0}}@media (width<=599px) and (height<=760px){.fp-lede{display:none}.scene-intro .scene-stage{--fp-top:262px}}.motion-home.is-still .scene-intro .scene-stage{min-height:100svh}.fp-loupe{z-index:7;border:1px solid color-mix(in srgb,var(--bone) 70%,transparent);pointer-events:none;border-radius:50%;width:160px;height:160px;position:fixed;top:0;left:0;box-shadow:0 0 0 1px #0007,6px 10px 30px #0009}.tok{transition:color var(--t-2) var(--ease-light),background-color var(--t-1) var(--ease-light);border-radius:.14em;display:inline-block}.tok:hover{background:color-mix(in srgb,var(--vermilion) 13%,transparent)}.tok.is-off{color:var(--vermilion)}.tok.is-swap{animation:tok-rise var(--t-2) var(--ease-print);will-change:transform,opacity,filter}@keyframes tok-rise{0%{opacity:0;filter:blur(6px);transform:translateY(.3em)}}.motion-home.is-still .tok.is-swap{animation:none}.tokpop{z-index:60;border:1px solid color-mix(in srgb,var(--bone) 14%,transparent);background:color-mix(in srgb,var(--ink-1) 94%,transparent);backdrop-filter:blur(12px);min-width:216px;font:500 12px/1.4 var(--mono);color:var(--bone);opacity:0;pointer-events:none;transition:opacity var(--t-1) var(--ease-light),transform var(--t-1) var(--ease-print);border-radius:13px;padding:12px 14px 13px;position:fixed;top:0;left:0;transform:translateY(.4rem);box-shadow:6px 19px 38px #0006}.tokpop.is-on{opacity:1;transform:none}html.reduce-motion .tokpop{transform:none}.tokpop-title{letter-spacing:.06em;color:var(--gray-7);margin:0 0 9px;font-size:10px}.tokpop-row{grid-template-columns:minmax(72px,auto) 1fr 42px;align-items:center;gap:10px;padding:2px 0;display:grid}.tokpop-row b{font:500 13px/1.3 Newsreader,Noto Serif SC Display,Noto Serif SC,Georgia,serif}.tokpop-row.is-pick,.tokpop-row.is-pick b{color:var(--vermilion)}.tokpop-row>span:last-child{text-align:right;font-variant-numeric:tabular-nums;color:var(--gray-7)}.tokpop-row.is-pick>span:last-child{color:var(--vermilion)}.tokpop-bar{background:color-mix(in srgb,var(--bone) 14%,transparent);border-radius:2px;height:4px;overflow:hidden}.tokpop-bar i{height:100%;width:calc(var(--w,0)*100%);background:var(--bone);transition:width var(--t-1) var(--ease-write);display:block}.tokpop-row.is-pick .tokpop-bar i{background:var(--vermilion)}html.stage-on .motion-home{--tb:56px;--bb:clamp(148px,19svh,186px);--pt:0px;--ph:100svh;--s:max(calc(100vw/2000),calc(var(--ph)/1000));--ox:calc((100vw - 2000*var(--s))/2);--oy:calc(var(--pt) + (var(--ph) - 1000*var(--s))*.42);--pic-top:var(--tb);--pic-bottom:calc(100svh - var(--bb))}@media (aspect-ratio<=1),(width<=700px){html.stage-on .motion-home{--tb:52px;--ph:min(100vw*1.12,64svh);--pt:var(--tb);--bb:calc(100svh - var(--tb) - var(--ph))}}@media (aspect-ratio>=1) and (height<=520px){html.stage-on .motion-home{--tb:44px;--bb:76px}html.stage-on.film-js .motion-home .framed-project .wall-label .wall-intro{display:none}html.stage-on.film-js .motion-home:not([data-act=intro]) .fp-temperature{left:auto;right:clamp(20px,3.2vw,52px);transform:none}}.stage-back{display:none}html.stage-on .stage-back{z-index:0;pointer-events:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}html.stage-on .stage-own{z-index:0;pointer-events:none;position:fixed;top:0;left:0}.stage-front,.stage-light,.stage-words{display:none}html.stage-on.film-js .motion-home .stage-front,html.stage-on.film-js .motion-home .stage-light{pointer-events:none;width:100%;height:100%;clip-path:inset(var(--tb) 0 var(--bb) 0);display:block;position:absolute;top:0;left:0}html.stage-on .stage-front{z-index:2}html.stage-on .stage-light{z-index:3;mix-blend-mode:plus-lighter}html.stage-on.film-js .motion-home .stage-words{left:0;top:var(--pt);width:100%;height:var(--ph);z-index:2;pointer-events:none;clip-path:inset(calc(var(--tb) - var(--pt)) 0 calc(var(--pt) + var(--ph) - 100svh + var(--bb)) 0);display:block;position:absolute}.stage-bars{display:none}html.stage-on.film-js .motion-home .stage-bars{display:block}.stage-bars i{z-index:4;pointer-events:none;background:#060505;position:fixed;left:0;right:0}.stage-bars .sb-top{height:var(--tb);top:0}.stage-bars .sb-bottom{height:var(--bb);bottom:0}html.stage-on.film-js .motion-home .motion-scene{z-index:auto}html.stage-on.film-js .motion-home .scene-stage{isolation:auto;z-index:5;padding:0;display:block}html.stage-on.film-js .motion-home .motion-scene:not(.scene-intro) .scene-stage{pointer-events:none}html.stage-on.film-js .motion-home .motion-scene:not(.scene-intro) .scene-stage>:not(canvas){pointer-events:auto}html.stage-on.film-js .motion-home :is(.scene-light,.ambient-wash,.fp-frame){display:none}html.stage-on.film-js .motion-home .film-controls{top:calc((var(--tb) - 44px)/2);flex-direction:row;align-items:center;gap:4px}html.stage-on.film-js body:has(.motion-home) .music-button{top:calc((var(--tb) - 44px)/2)}html.stage-on.film-js .motion-home :is(.fp-id,.fp-cta,.fp-cue,.fp-tagline,.framed-project .wall-label,.contact-mark,.contact-composition h2,.contact-email,.contact-write,.contact-index,.contact-again){transition:opacity var(--t-2) var(--ease-light),visibility 0s var(--t-2);opacity:0;visibility:hidden}html.stage-on.film-js .motion-home[data-act=intro] :is(.fp-id,.fp-cta,.fp-cue,.fp-tagline),html.stage-on.film-js .motion-home .motion-scene[data-active=true] .framed-project .wall-label,html.stage-on.film-js .motion-home[data-act=contact] :is(.contact-mark,.contact-composition h2,.contact-email,.contact-write,.contact-index,.contact-again){opacity:1;visibility:visible;transition:opacity var(--t-2) var(--ease-light)}html.stage-on.film-js .motion-home .scene-intro .fp-view{transform:none}html.stage-on.film-js .motion-home .scene-intro .fp-canvas{inset:auto 0;top:calc(var(--oy) + 90*var(--s));height:calc(600*var(--s));background:0 0}html.stage-on.film-js .motion-home .scene-intro{--w1:min(47vw,calc((var(--pic-bottom) - var(--pic-top))*.848));--pw:calc(var(--w1)/.89813)}html.stage-on.film-js .motion-home .scene-intro .art-position{display:block}html.stage-on.film-js .motion-home .scene-intro .brush-art{width:var(--pw);max-width:none;left:calc((100vw - var(--w1))/2 + .0491*var(--w1) - .10187*var(--pw));top:calc(var(--pic-top) + (var(--pic-bottom) - var(--pic-top))*.085 - .16741*.56*var(--pw));position:absolute}html.stage-on.film-js .motion-home{--tagF:clamp(21px,2.3vw,38px);--foot:calc(var(--oy) + 697*var(--s));--sub-h:calc(var(--tagF)*1.3 + 30px);--sub-top:min(calc((var(--foot) + var(--pic-bottom) - var(--sub-h))/2),calc(var(--pic-bottom) - var(--sub-h) - 10px))}html.stage-on.film-js .motion-home .fp-column{filter:none;opacity:1;position:static;translate:none}html.stage-on.film-js .motion-home .fp-tagline{z-index:5;left:50%;top:var(--sub-top);width:auto;min-height:0;font-size:var(--tagF);white-space:nowrap;text-shadow:2px 3px 16px #000e;color:var(--bone);margin:0;line-height:1.3;position:fixed;transform:translate(-50%)}html.stage-on.film-js .motion-home .fp-tagline:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#000b,#0006 60%,#0000);width:calc(100% + 160px);height:calc(100% + 70px);position:absolute;top:50%;left:50%;transform:translate(-50%,-30%)}html.stage-on.film-js .motion-home .fp-temperature{z-index:5;top:auto;left:50%;bottom:calc(var(--bb)/2 - 11px);opacity:1;transition:top var(--t-2) var(--ease-light),bottom var(--t-2) var(--ease-light);position:fixed;transform:translate(-50%)}html.stage-on.film-js .motion-home[data-act=contact] .fp-temperature{opacity:0;visibility:hidden}html.stage-on.film-js .motion-home[data-act=intro] .fp-temperature{top:calc(var(--sub-top) + var(--tagF)*1.3 + 8px);bottom:auto}html.stage-on.film-js .motion-home .fp-id{z-index:5;left:clamp(20px,3.2vw,52px);top:var(--pic-bottom);height:var(--bb);flex-direction:column;justify-content:center;width:min(34vw,520px);display:flex;position:fixed;bottom:auto}html.stage-on.film-js .motion-home .fp-identity{margin:0 0 8px;font-size:clamp(24px,2.3vw,36px)}html.stage-on.film-js .motion-home .fp-role{margin:0;font-size:12px}html.stage-on.film-js .motion-home .fp-lede{max-width:34em;margin:8px 0 0;font-size:14px;line-height:1.6}html.stage-on.film-js .motion-home .fp-cta{z-index:5;right:clamp(20px,3.2vw,52px);bottom:calc(var(--bb)/2);min-height:42px;color:var(--gray-7);font-size:13px;position:fixed;transform:translateY(50%)}html.stage-on.film-js .motion-home .fp-cue{z-index:5;left:50%;bottom:calc(var(--bb)/2);opacity:1;position:fixed;translate:-50% 50%}html.stage-on.film-js .motion-home .framed-project.frame-storyweave{--wx:1240}html.stage-on.film-js .motion-home .framed-project.frame-agentlens{--wx:230}html.stage-on.film-js .motion-home .framed-project.frame-billflow{--wx:780}html.stage-on.film-js .motion-home .framed-project{z-index:1;left:calc(var(--stage-x,var(--ox)) + var(--wx)*var(--s));top:calc(var(--oy) + (745 - 440*var(--fr))*var(--s));width:calc(440*var(--s));margin:0;position:absolute}@media (aspect-ratio<=1),(width<=700px){html.stage-on.film-js .motion-home .framed-project{left:calc(var(--stage-x,clamp(calc(100vw - 1940*var(--s)),calc(50vw - (var(--wx) + 220)*var(--s)),calc(-60*var(--s)))) + var(--wx)*var(--s))}}.frame-hint{display:none}html.stage-on.film-js .motion-home .framed-project .frame-hint{left:0;right:0;bottom:calc(-2px - 3*var(--s));text-align:center;z-index:2;white-space:nowrap;font-size:clamp(9px,calc(13*var(--s)),13px);letter-spacing:.06em;color:var(--hint,var(--bone));opacity:calc(.9*var(--frame-in,1)*var(--stage-dark,1));pointer-events:none;text-shadow:1px 2px 6px #000c;margin:0;line-height:1;display:block;position:absolute}html.stage-on.film-js .motion-home .frame-storyweave .frame-hint{--hint:#f1d9dc}html.stage-on.film-js .motion-home .frame-agentlens .frame-hint{--hint:#cfd8e2}html.stage-on.film-js .motion-home .frame-billflow .frame-hint{--hint:#e8e0bc}html.stage-on.film-js .motion-home.work-open .framed-project .frame-hint{opacity:0}html.stage-on.film-js .motion-home .framed-project .wall-label{z-index:5;left:clamp(20px,3.2vw,52px);bottom:calc(var(--bb)/2);max-width:min(36vw,46ch);margin:0;position:fixed;transform:translateY(50%)}html.stage-on.film-js .motion-home .scene-contact .art-position{display:none}html.stage-on.film-js .motion-home .scene-contact .scene-stage{padding:calc(var(--tb) + 14px) 0 calc(100svh - var(--pt) - var(--ph)*.62);justify-content:center;align-items:center;display:flex}@media (width<=700px),(aspect-ratio<=1){html.stage-on.film-js .motion-home .scene-contact .scene-stage{padding:calc(var(--tb) + 90px) 0 40px}}@media (aspect-ratio<=1),(width<=700px){html.stage-on.film-js .motion-home .scene-intro{--w1:min(84vw,520px)}html.stage-on.film-js .motion-home .scene-intro .brush-art{top:calc(var(--pic-top) + (var(--pic-bottom) - var(--pic-top))*.1 - .16741*.56*var(--pw))}html.stage-on.film-js .motion-home .fp-tagline{white-space:normal;text-align:center;width:90vw;font-size:clamp(20px,5.6vw,28px)}html.stage-on.film-js .motion-home .fp-id{width:auto;left:20px;right:20px;top:calc(var(--pic-bottom) + 24px);height:auto;display:block}html.stage-on.film-js .motion-home .fp-lede{display:none}html.stage-on.film-js .motion-home .fp-cta{left:20px;right:auto;top:calc(var(--pic-bottom) + 128px);bottom:auto;transform:none}html.stage-on.film-js .motion-home .fp-cue{bottom:max(20px,env(safe-area-inset-bottom));translate:-50%}html.stage-on.film-js .motion-home .fp-temperature{bottom:auto;top:calc(var(--pic-bottom) + 24px + 96px)}html.stage-on.film-js .motion-home .framed-project .wall-label{left:20px;right:20px;top:calc(var(--pic-bottom) + 24px);max-width:none;bottom:auto;transform:none}}html.stage-on.film-js .motion-home.work-open :is(.stage-front,.stage-light,.stage-words){opacity:calc(1 - var(--wp,0))}html.stage-on.film-js .motion-home.work-open :is(.stage-back,.stage-own){opacity:calc(1 - .75*var(--wp,0))}html.stage-on.film-js .motion-home.wp-in .motion-scene[data-active=true] .framed-project a.wall-label{opacity:0;visibility:hidden;transition:none}html.stage-on.film-js .motion-home .framed-project :is(.fb,.fr,.fl){opacity:calc(var(--frame-in,1)*(.15 + .85*var(--stage-dark,1)));transform:scale(calc(.94 + .06*var(--frame-in,1)))}html.stage-on.film-js .motion-home .motion-scene:not([data-active=true]) .framed-project{visibility:hidden}html.stage-on.film-js .motion-home .framed-project .frame-edge{box-shadow:7px 12px 16px rgb(0 0 0/calc(.67*var(--frame-in,1)))}html.stage-on.film-js .motion-home .motion-scene[data-active=true] .framed-project .wall-label{opacity:var(--frame-in,1)}html.stage-on.film-js .motion-home .fp-play{left:auto;right:clamp(20px,3.2vw,52px);top:calc(var(--pic-bottom) - 60px)}@media (aspect-ratio<=1),(width<=700px){html.stage-on.film-js .motion-home{--sub-h:calc(var(--tagF)*2.6 + 30px);--tagF:clamp(20px,5.6vw,28px)}html.stage-on.film-js .motion-home[data-act=intro] .fp-temperature{top:calc(var(--sub-top) + var(--tagF)*2.6 + 8px)}}html.stage-on.film-js .motion-home .scene-contact .contact-email{color:color-mix(in srgb,#fff4e2 calc(var(--glow,0)*55%),var(--bone));text-shadow:0 0 calc(2px + 12px*var(--glow,0)) rgb(255 238 218/calc(.08 + .42*var(--glow,0)))}.case-opening{justify-content:center;align-items:flex-end;gap:clamp(28px,4vw,56px);margin-bottom:clamp(40px,6svh,72px);padding-top:clamp(64px,9svh,92px);display:flex}.case-opening .case-painting{flex:0 calc(99.6svh - 79.68px);min-width:0;margin:0}.case-label{flex:0 0 clamp(280px,28vw,380px);padding-bottom:6px}.case-label .back-link{align-items:center;gap:6px;min-height:44px;display:inline-flex}.stage-return{z-index:50;left:max(18px,env(safe-area-inset-left));top:max(18px,env(safe-area-inset-top));white-space:nowrap;letter-spacing:.1em;min-height:36px;color:var(--ink-0);background:var(--bone);border:1px solid var(--bone);transition:background var(--t-1) var(--ease-light);border-radius:999px;place-items:center;padding:0 18px;font-size:13px;display:grid;position:fixed;box-shadow:4px 6px 18px #0006}.stage-return:hover{color:var(--ink-0);background:var(--bone);filter:brightness(1.08)}@media (width<=767px){.stage-return{top:10px;left:max(10px,env(safe-area-inset-left));letter-spacing:.02em;min-height:32px;padding:0 11px;font-size:11px}}@media (width<=359px){.stage-return{letter-spacing:0;padding:0 9px;font-size:10px}}.case-label .plate-title{white-space:nowrap;font:500 12px/1.4 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--gray-7);flex-wrap:wrap;align-items:baseline;column-gap:.45em;margin:14px 0 10px;display:flex}.plate-title .plate-work{letter-spacing:-.01em;text-transform:none;color:var(--bone);font:400 clamp(30px,2.8vw,40px)/1.05 Newsreader,Georgia,serif}.plate-title .plate-sep{color:var(--gray-5)}.plate-medium{color:var(--gray-5);margin:0 0 22px;font-size:13px;line-height:1.55}.case-label .case-deck{max-width:none;color:var(--bone);margin:0 0 14px;font:400 19px/1.55 Newsreader,Georgia,serif}html[lang=zh-CN] .case-label .case-deck{font-family:var(--font);font-size:17px;line-height:1.75}.case-focus{font:500 11px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--gray-5);margin:0}@media (width<=860px){.case-opening{flex-direction:column;align-items:stretch;gap:20px}.case-opening .case-painting{flex:none;width:min(100%,99.6svh - 79.68px);margin-inline:auto}.case-label{flex:none;max-width:640px;padding-bottom:0}}@media (width<=680px){.case-opening{gap:12px;padding-top:62px}.case-label .case-deck{font-size:17px}.plate-title .plate-work{font-size:32px}}.evidence{color:inherit;align-content:start;gap:6px;text-decoration:none;display:grid}.evidence-fig{font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;align-items:baseline;gap:.22em;font:600 clamp(28px,2.6vw,36px)/1.1 Newsreader,Georgia,serif;display:inline-flex}.evidence del{color:var(--gray-5);font-size:.56em;font-weight:400;text-decoration:none;position:relative}.evidence del:after{content:"";background:var(--vermilion);transform-origin:0;height:2px;position:absolute;top:54%;left:-.1em;right:-.1em;transform:rotate(-9deg)}.evidence ins{color:var(--vermilion);text-decoration:none}.evidence-label{color:var(--gray-7);font-size:13px;line-height:1.5}.evidence-source{letter-spacing:.08em;text-transform:uppercase;color:var(--gray-5);transition:color var(--t-1) var(--ease-light);font-size:11px}.evidence:hover .evidence-source,.evidence:focus-visible .evidence-source{color:var(--bone)}.case-reveal .evidence del:after{transform:rotate(-9deg)scaleX(0)}.case-reveal.is-read .evidence del:after{transition:transform var(--t-2) var(--ease-write) var(--t-1);transform:rotate(-9deg)scaleX(1)}.case-reveal .evidence ins{clip-path:inset(-.2em 100% -.2em 0)}.case-reveal.is-read .evidence ins{clip-path:inset(-.2em -.2em -.2em 0);transition:clip-path var(--t-2) steps(6,end) var(--t-2)}html.reduce-motion .case-reveal .evidence del:after{transform:rotate(-9deg)}html.reduce-motion .case-reveal .evidence ins{clip-path:none}.decision-essay{max-width:760px;margin:clamp(56px,8vw,96px) auto}.essay-head{border-bottom:1px solid color-mix(in srgb,var(--bone) 40%,transparent);grid-template-columns:auto 1fr;align-items:center;column-gap:16px;margin-bottom:28px;padding-bottom:22px;display:grid}.essay-mark{fill:none;width:44px;height:44px;stroke:var(--bone);stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;grid-row:1/3}.essay-kicker{font:500 11px/1.4 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--gray-7);margin:0}.essay-title{letter-spacing:-.01em;color:var(--bone);text-wrap:balance;margin:4px 0 0;font:400 clamp(28px,3vw,40px)/1.15 Newsreader,Georgia,serif}html[lang=zh-CN] .essay-title{letter-spacing:.02em;font-family:Noto Serif SC Display,Noto Serif SC,Songti SC,serif;font-weight:600}.essay-body p{color:var(--gray-7);margin:0 0 1.1em;font:400 18px/1.75 Newsreader,Georgia,serif}.essay-body p:first-child{color:var(--bone);font-size:20px}html[lang=zh-CN] .essay-body p{font-family:var(--font);font-size:17px;line-height:1.85}html[lang=zh-CN] .essay-body p:first-child{font-size:18px}.essay-figure{margin:40px 0 0}.essay-steps{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;margin:0;padding:0;list-style:none;display:grid}.essay-steps>li{padding:22px 16px 0 0;position:relative}.essay-steps>li:after{content:"";background:var(--bone);height:1px;position:absolute;top:0;left:0;right:0}.essay-steps>li:last-child:after{display:none}.essay-steps>li:before{content:"";z-index:1;background:var(--ink-0);width:7px;height:7px;box-shadow:inset 0 0 0 1px var(--bone);border-radius:50%;position:absolute;top:-3px;left:0}.step-name{color:var(--bone);font-size:14px;line-height:1.45;display:block}.step-branches{border-left:1px dashed var(--gray-5);gap:8px;margin:12px 0 0;padding:0 0 0 12px;list-style:none;display:grid}.step-branches li{color:var(--gray-7);font-size:12.5px;line-height:1.45}.essay-figure figcaption{color:var(--gray-5);margin-top:22px;font-size:13px;line-height:1.5}@media (width<=760px){.essay-steps{grid-auto-flow:row}.essay-steps>li{padding:0 0 22px 24px}.essay-steps>li:after{width:1px;height:auto;inset:4px auto -4px 3px}.essay-steps>li:before{top:4px}}.brand-card{background:var(--ink-1);box-shadow:inset 0 0 0 1px var(--ink-3),12px 18px 40px #0008;margin:clamp(56px,8vw,96px) 0;padding:clamp(24px,3vw,40px)}.brand-kicker{font:500 11px/1.4 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--gray-7);margin:0 0 6px}.brand-card h2{color:var(--bone);margin:0;font:400 clamp(28px,3vw,40px)/1.1 Newsreader,Georgia,serif}.brand-idea{max-width:640px;color:var(--gray-7);margin:10px 0 28px;font-size:16px;line-height:1.6}.brand-grid{grid-template-columns:minmax(150px,.8fr) repeat(3,minmax(0,1fr));gap:28px;display:grid}.brand-mark{margin:0}.brand-mark svg{aspect-ratio:1;fill:none;width:100%;max-width:150px;stroke:var(--bone);stroke-width:.9px;stroke-linecap:round;stroke-linejoin:round;display:block}.brand-mark figcaption{color:var(--gray-5);margin-top:10px;font-size:12px;line-height:1.5}.brand-part h3{font:500 11px/1.4 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--gray-7);margin:0 0 12px}.brand-part ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.brand-colours li{grid-template-columns:28px 1fr;align-items:center;column-gap:10px;display:grid}.swatch{width:28px;height:28px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bone) 25%,transparent);border-radius:2px;grid-row:1/3}.swatch-name,.type-name{color:var(--bone);font-size:13px;line-height:1.4}.brand-card code{font:11px/1.4 var(--mono);color:var(--gray-5)}.swatch-role,.type-use,.motion-use{color:var(--gray-7);font-size:12px;line-height:1.45}.brand-type li{grid-template-columns:44px 1fr;align-items:center;column-gap:10px;display:grid}.type-sample{color:var(--bone);grid-row:1/3;font-size:30px;line-height:1}.brand-motion li{grid-template-columns:auto 1fr;align-items:baseline;gap:4px 10px;display:grid}.motion-verb{color:var(--bone);font:400 18px/1 Newsreader,Georgia,serif}html[lang=zh-CN] .motion-verb{font-family:var(--font);font-size:16px}.motion-use{grid-column:1/-1}@media (width<=980px){.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.brand-grid{grid-template-columns:1fr}}:root{color-scheme:dark;--ink-0:#0e0d0c;--ink-1:#151413;--ink-2:#1a1917;--ink-3:#2b2926;--ink-4:#4a4742;--gray-5:#8e887f;--gray-7:#b9b2a6;--bone:#ede6d8;--vermilion:#e0523b;--vermilion-deep:#c8382a;--cyan:#6fb7c8;--bg:var(--ink-0);--surface:var(--ink-1);--text:var(--bone);--muted:var(--gray-7);--line:var(--ink-3);--font:"Geist Variable","PingFang SC","Microsoft YaHei",sans-serif;--mono:ui-monospace,"Cascadia Mono","SF Mono",Consolas,"Liberation Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.7}::selection{background:var(--bone);color:var(--bg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,select{color:inherit}button{cursor:pointer}a,button{transition:color var(--t-1) var(--ease-light),background var(--t-1) var(--ease-light),border-color var(--t-1) var(--ease-light)}a:hover{color:var(--bone)}:focus-visible{outline:2px solid var(--bone);outline-offset:5px}img,video{max-width:100%;height:auto;display:block}p{color:var(--muted);margin:0 0 1.25em}h1,h2,h3,h4{letter-spacing:-.045em;margin:0;font-weight:500;line-height:1.12}h1{font-size:clamp(42px,5.4vw,76px)}h2{font-size:clamp(30px,3vw,44px)}h3{font-size:28px}h4{font-size:23px}.serif{color:var(--bone);letter-spacing:-.035em;font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:400}html[lang=zh-CN] .serif{letter-spacing:.02em;font-family:Noto Serif SC Display,Noto Serif SC,Songti SC,STSong,SimSun,serif;font-style:normal;font-weight:600}html[lang=zh-CN] h1{letter-spacing:-.035em;line-height:1.25}html[lang=zh-CN] h2,html[lang=zh-CN] h3{line-height:1.35}.container{width:min(1200px,100% - 96px);margin-inline:auto}.section{margin-top:96px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--bone);margin-bottom:18px;font-size:12px;font-weight:500;line-height:1.5}.small,figcaption{color:var(--muted);font-size:13px;line-height:1.7}.small{margin-top:18px}.language-switch{z-index:50;left:50%;top:max(18px,env(safe-area-inset-top));letter-spacing:.1em;min-width:64px;min-height:36px;color:var(--ink-0);background:var(--bone);border:1px solid var(--bone);transition:transform var(--t-2) var(--ease-print),background var(--t-1) var(--ease-light);border-radius:999px;place-items:center;padding:0 18px;font-size:13px;display:grid;position:fixed;transform:translate(-50%);box-shadow:4px 6px 18px #0006}.language-switch:hover{color:var(--ink-0);background:var(--bone);filter:brightness(1.08)}.language-switch.is-tucked:not(:focus-visible){transform:translate(-50%,calc(-100% - 28px))}@media (width<=680px){.language-switch{top:10px}}.skip-link{z-index:10;background:var(--bone);color:var(--bg);padding:12px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{z-index:60;transform:none}.actions{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.button{border:1px solid var(--bone);background:var(--bone);color:#141414;border-radius:7px;justify-content:center;align-items:center;gap:30px;min-height:48px;padding:12px 22px;font-size:14px;font-weight:500;line-height:1.4;display:inline-flex}.button:hover{color:var(--ink-0);background:var(--gray-7);border-color:var(--gray-7)}.button.secondary{color:var(--text);border-color:var(--gray-5);background:0 0}.button.secondary:hover{background:#24211c}.button:disabled{opacity:.45;cursor:default}.text-link{text-underline-offset:5px;align-items:center;min-height:44px;font-size:14px;display:inline-flex}.text-link:hover{text-decoration:underline}.media{min-width:0;margin:0}.image-link{border:1px solid var(--line);background:var(--surface);border-radius:12px;display:block;position:relative;overflow:hidden}.image-link img{aspect-ratio:2;object-fit:contain;width:100%;height:auto}.zoom-label{color:var(--text);text-align:center;background:#111e;border:1px solid #777;border-radius:100%;width:36px;height:36px;line-height:34px;position:absolute;bottom:12px;right:12px}.media figcaption{align-items:baseline;gap:10px;padding-top:12px;display:flex}.caption-mark{background:var(--bone);border-radius:50%;flex:0 0 5px;width:5px;height:5px;display:inline-block}.footer{border-top:1px solid var(--line);margin-top:96px;padding-top:70px}.footer h2{margin-bottom:22px}.email{color:var(--bone);overflow-wrap:anywhere;font-size:clamp(18px,2.3vw,29px)}.media-dialog{border:1px solid var(--gray-5);background:#191b1e;border-radius:12px;max-width:94vw;max-height:94vh;padding:20px}.media-dialog::backdrop{background:#000d}.media-dialog button{margin:0 0 18px auto;display:flex}.media-dialog img{object-fit:contain;max-height:78vh}.preview{position:relative}.preview video{aspect-ratio:1.6;background:var(--surface);border:1px solid var(--line);object-fit:contain;border-radius:12px;width:100%}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:15px}td,th{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:16px}.prose table{max-width:100%;display:block;overflow-x:auto}@media (width<=680px){.prose td,.prose th{padding:10px 8px;font-size:14px}}th{color:var(--bone)}pre{border:1px solid var(--line);background:#0e0f11;border-radius:8px;max-width:100%;padding:24px;font-size:13px;line-height:1.6;overflow:auto}code{font-family:Consolas,SFMono-Regular,monospace}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;min-height:44px;color:var(--text);align-content:center}[hidden]{display:none!important}@media (width<=900px){.container{width:calc(100% - 48px)}.section,.footer{margin-top:64px}}@media (width<=680px){body{font-size:16px}.container{width:calc(100% - 40px)}.section{margin-top:56px}.footer{padding-top:48px}.actions{gap:14px 22px}.button{font-size:13px}.media figcaption{font-size:12px}.image-link img{min-height:170px}pre{padding:16px;font-size:12px}}html.reduce-motion{scroll-behavior:auto}html.reduce-motion *,html.reduce-motion :before,html.reduce-motion :after{transition:none!important;animation:none!important}html.demo-modal-open{overflow:hidden}.ink-dot{background:var(--vermilion);width:8px;height:8px;animation:ink-breathe var(--t-2) var(--ease-light) infinite;border-radius:50%;display:block}@keyframes ink-breathe{50%{transform:scale(.55)}}@font-face{font-family:Noto Serif SC Display;src:url(/fonts/noto-serif-sc-display.woff2)format("woff2");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:U+2E80-9FFF,U+FF00-FFEF}@font-face{font-family:Zhuque Fangsong Name;src:url(/fonts/zhuque-fangsong-name.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+2E80-9FFF,U+FF00-FFEF}@font-face{font-family:Noto Serif SC Stage;src:url(/fonts/noto-serif-sc-stage.woff2)format("woff2");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:U+2E80-9FFF,U+FF00-FFEF}@font-face{font-family:Noto Serif SC Stage;src:url(/fonts/noto-serif-sc-stage-end.woff2)format("woff2");font-weight:400 600;font-style:normal;font-display:swap;unicode-range:U+4E2A,U+4E86,U+4F60,U+5230,U+56DB,U+573A,U+627E,U+666F,U+6BCF,U+7269}@font-face{font-family:Noto Serif SC Corpus;src:url(/fonts/noto-serif-sc-corpus.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+2E80-9FFF,U+FF00-FFEF}.serif,.fp-tagline,.fp-name-zh{font-synthesis:none}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.music-button{z-index:49;top:max(14px,env(safe-area-inset-top));width:44px;height:44px;color:var(--gray-7);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;right:clamp(8px,1.6vw,26px)}.music-disc{fill:none;stroke:currentColor;stroke-width:1px;stroke-linecap:round;width:36px;height:36px}.music-vinyl{fill:var(--ink-1)}.music-groove{stroke:var(--ink-4)}.music-hole{fill:var(--ink-0);stroke:none}.music-label{fill:var(--ink-3);stroke:none;transition:fill var(--t-2) var(--ease-light)}.music-button:hover,.music-button:focus-visible,.music-button[aria-pressed=true]{color:var(--bone)}.music-button[data-state=playing] .music-label{fill:var(--gray-5)}.reduce-motion .music-button[data-state=playing] .music-label{fill:var(--bone)}.music-button:focus-visible{background:url(/media/focus-ring.svg) 50%/44px no-repeat;outline:none}@media (forced-colors:active){.music-button:focus-visible{outline-offset:2px;background-image:none;outline:2px solid canvastext}}.music-button:after{content:attr(data-tip);white-space:nowrap;letter-spacing:.06em;color:var(--bone);background:color-mix(in srgb,var(--ink-0) 90%,transparent);border:1px solid var(--ink-3);opacity:0;pointer-events:none;transition:opacity var(--t-1) var(--ease-light);border-radius:4px;padding:4px 8px;font-size:11px;position:absolute;top:calc(100% + 4px);right:0}.music-button:hover:after,.music-button:focus-visible:after{opacity:1}body:has(.music-button) .film-controls{right:calc(clamp(8px,1.6vw,26px) + 46px)}@media (width<=680px){.music-button{top:6px;right:4px}body:has(.music-button) .film-controls{right:auto}}
