/* Generated homepage CSS subset. Source v154-system.css remains unchanged. */
@font-face { font-family: "Bricolage Display"; font-style: normal; font-weight: 200 800; font-display: optional; src: url("fonts/bricolage-latin-5.3.0.woff2") format("woff2-variations"); }
@font-face { font-family: "Bricolage Metric Fallback"; font-style: normal; font-weight: 200 800; font-display: swap; src: local("Helvetica Neue"), local("Arial"); size-adjust: 97%; ascent-override: 94%; descent-override: 24%; line-gap-override: 0%; }
:root { color-scheme: light; --ink: #0a0a0a; --paper: #f5f5f3; --white: #fff; --muted: #6b6b69; --line: #d2d2ce; --soft: #e7e7e3; --dark: #151515; --max: 1280px; --pad: clamp(20px,4.4vw,64px); --radius: 2px; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0px; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
img { max-width: 100%; display: block; }
.shell { width: min(100%,var(--max)); margin: auto; padding-inline: var(--pad); }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 16px; top: 16px; background: rgb(255, 255, 255); padding: 12px; z-index: 100; }
.site-header { position: sticky; top: 0px; z-index: 50; background: color-mix(in srgb,var(--paper) 90%,transparent); backdrop-filter: blur(18px); border-bottom: 1px solid var(--line); }
.nav { height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: flex; align-items: center; gap: 11px; font-weight: 680; letter-spacing: -0.025em; }
.nav-links { display: flex; align-items: center; gap: 26px; font-size: 14px; }
.nav-links a { color: rgb(63, 63, 63); padding: 7px 0px; border-bottom: 1px solid transparent; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--ink); border-color: var(--ink); }
.menu { display: none; border: 0px; background: transparent; padding: 9px; }
.mono, .kicker, .label, .tag, .status, .crumb { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; letter-spacing: 0.07em; }
.kicker { font-size: 12px; color: rgb(88, 88, 86); }
.page { min-height: 72vh; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 35px; }
.button { min-height: 48px; padding: 0px 19px; border: 1px solid var(--ink); display: inline-flex; align-items: center; justify-content: center; gap: 12px; cursor: pointer; background: transparent; transition: transform 0.18s, box-shadow 0.18s; }
.button.primary { background: var(--ink); color: rgb(255, 255, 255); }
.button:hover { transform: translateY(-2px); box-shadow: rgb(208, 208, 204) 0px 6px 0px; }
.button.light { border-color: rgb(255, 255, 255); color: rgb(255, 255, 255); }
.button.light.primary { background: rgb(255, 255, 255); color: var(--ink); }
.section { padding-block: clamp(82px, 10vw, 138px); scroll-margin-top: 70px; }
.section-head { display: grid; grid-template-columns: minmax(160px, 0.65fr) minmax(0px, 1.8fr); gap: 40px; margin-bottom: 52px; }
.section-head h2, .page-title { margin: 0px; font-size: clamp(42px, 6vw, 78px); line-height: 0.96; letter-spacing: -0.062em; font-weight: 620; }
.section-head p { max-width: 680px; margin: 18px 0px 0px; color: rgb(69, 69, 67); font-size: 18px; }
.arrow-link { display: inline-flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--ink); padding-bottom: 3px; font-size: 14px; }
.arrow-link:hover { gap: 15px; }
.footer { background: var(--ink); color: rgb(255, 255, 255); padding-block: clamp(78px, 10vw, 135px) 34px; }
.footer h2 { font-size: clamp(50px, 9vw, 118px); line-height: 0.9; letter-spacing: -0.07em; margin: 15px 0px 0px; font-weight: 610; max-width: 1100px; }
.footer-bottom { border-top: 1px solid rgb(57, 57, 57); margin-top: 90px; padding-top: 21px; display: flex; justify-content: space-between; gap: 24px; color: rgb(170, 170, 170); font-size: 13px; }
.filter.active { background: var(--ink); color: rgb(255, 255, 255); border-color: var(--ink); }
.contact-note { font-size: clamp(27px, 3.5vw, 45px); line-height: 1.15; letter-spacing: -0.04em; }
:focus-visible { outline: rgb(119, 119, 119) solid 3px; outline-offset: 4px; }
@media (max-width: 720px) {.nav-links { display: none; position: absolute; top: 70px; left: 0px; right: 0px; background: var(--paper); padding: 22px var(--pad); border-bottom: 1px solid var(--line); flex-direction: column; align-items: flex-start; gap: 14px; }
.nav-links.open { display: flex; }
.menu { display: block; }
.section-head, .about-preview, .profile-grid, .contact-grid { grid-template-columns: 1fr; gap: 28px; }
.footer-bottom { flex-direction: column; }}
@media (max-width: 480px) {.footer h2 { font-size: 51px; }}
@media (prefers-reduced-motion: reduce) {html { scroll-behavior: auto; }
* { transition: none !important; }}
.evidence-section { padding-top: clamp(68px, 8vw, 110px); }
.evidence-section .section-head { margin-bottom: 38px; }
.human-note { border-block: 1px solid var(--ink); padding: 28px 0px; display: grid; grid-template-columns: 1fr 2fr; gap: 40px; }
.human-note blockquote { font-size: clamp(27px, 3.4vw, 46px); line-height: 1.13; letter-spacing: -0.04em; margin: 0px; }
.human-note p { color: rgb(85, 85, 85); margin: 0px; }
@media (max-width: 680px) {.human-note, .product-vs-design { grid-template-columns: 1fr; }}
@font-face { font-family: "Stack Sans Text Fallback"; src: local("Arial"); ascent-override: 100%; descent-override: 30%; line-gap-override: 0%; size-adjust: 107.99%; }
:root { color-scheme: dark; --ink: #f2f4f7; --paper: #000000; --white: #f7f8fa; --muted: #9198a3; --line: #282c34; --soft: #15181e; --dark: #000000; --surface: #101318; --surface-raised: #151920; --accent: #a8bfdf; --accent-strong: #d1def0; --max: 1320px; --pad: clamp(22px,4.8vw,72px); --radius: 6px; --font-sans: -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; --font-mono: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; }
html { background: var(--paper); }
body { background: var(--paper); color: var(--ink); font-family: var(--font-sans); line-height: 1.62; letter-spacing: -0.012em; font-optical-sizing: auto; -webkit-font-smoothing: antialiased; text-rendering: optimizelegibility; }
body { font-synthesis: none; }
html:lang(zh-CN) body { line-height: 1.72; letter-spacing: 0px; }
html:lang(zh-CN) h1, html:lang(zh-CN) h2 { letter-spacing: -0.028em; line-height: 1.08; }
html:lang(zh-CN) h3 { letter-spacing: -0.016em; line-height: 1.2; }
html:lang(zh-CN) .kicker, html:lang(zh-CN) .mono, html:lang(zh-CN) .label, html:lang(zh-CN) .tag, html:lang(zh-CN) .status, html:lang(zh-CN) .crumb { letter-spacing: 0.06em; }
html:lang(zh-CN) .hero-value, html:lang(zh-CN) .hero-availability, html:lang(zh-CN) .page-hero p, html:lang(zh-CN) .section-head p { line-height: 1.72; }
body::before { content: ""; position: fixed; top: 0px; bottom: 0px; left: 50%; width: 1px; pointer-events: none; z-index: -1; background: rgba(255, 255, 255, 0.024); }
::selection { background: var(--accent); color: rgb(11, 13, 17); }
.site-header { height: 78px; background: rgba(0, 0, 0, 0.94); border-color: var(--line); backdrop-filter: blur(22px) saturate(130%); }
.nav { height: 77px; }
.brand { gap: 13px; color: var(--white); font-weight: 620; letter-spacing: -0.025em; }
.brand-title { display: flex; flex-direction: column; line-height: 1.15; }
.nav-actions { display: flex; align-items: center; gap: 24px; }
.nav-links { gap: 28px; }
.nav-links a { color: rgb(165, 171, 180); padding: 27px 0px 24px; border-bottom: 2px solid transparent; transition: color 0.18s, border-color 0.18s; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--white); border-color: var(--accent); }
.language-switch { display: flex; align-items: center; padding: 3px; border: 1px solid rgb(49, 54, 64); border-radius: 999px; background: rgb(13, 15, 19); }
.language-switch button { min-width: 38px; height: 28px; padding: 0px 9px; border: 0px; border-radius: 999px; background: transparent; color: rgb(116, 124, 136); font-size: 11px; font-weight: 650; letter-spacing: 0.02em; cursor: pointer; }
.language-switch button.active { background: rgb(37, 43, 52); color: var(--white); }
.menu { color: var(--white); font-size: 14px; }
.kicker, .mono, .label, .tag, .status, .crumb { font-family: var(--font-sans); letter-spacing: 0.095em; }
.kicker { color: var(--accent); font-size: 12px; font-weight: 600; }
.page { overflow: hidden; }
.button { min-height: 50px; padding: 0px 21px; border-color: rgb(70, 77, 88); border-radius: 5px; color: var(--white); font-size: 14px; font-weight: 560; transition: background 0.18s, border-color 0.18s, color 0.18s, transform 0.18s; }
.button.primary { background: var(--white); border-color: var(--white); color: rgb(9, 10, 13); }
.button:hover { transform: translateY(-2px); box-shadow: none; background: var(--surface-raised); border-color: rgb(120, 131, 146); }
.button.primary:hover { background: var(--accent-strong); border-color: var(--accent-strong); color: rgb(9, 10, 13); }
.arrow-link { border-color: rgb(93, 102, 115); color: var(--white); }
.arrow-link:hover { color: var(--accent-strong); border-color: var(--accent); }
.section { padding-block: clamp(88px, 10vw, 148px); }
.section + .section { border-top: 1px solid rgba(255, 255, 255, 0.035); }
.section-head { grid-template-columns: minmax(150px, 0.52fr) minmax(0px, 1.8fr); gap: 52px; margin-bottom: 58px; }
.section-head h2, .page-title { color: var(--white); font-size: clamp(43px, 5.6vw, 76px); font-weight: 560; line-height: 1; letter-spacing: -0.055em; text-wrap: balance; }
.section-head p, .page-hero p { color: rgb(166, 173, 183); }
.human-note { border-color: rgb(58, 64, 73); padding: clamp(36px, 5vw, 64px) 0px; }
.human-note blockquote { color: var(--white); font-weight: 520; }
.human-note p { color: rgb(150, 157, 168) !important; }
.profile-statement, .contact-note { color: var(--white); font-weight: 520; }
.footer { background: rgb(0, 0, 0); border-top: 1px solid rgb(37, 41, 50); }
.footer .kicker { color: var(--accent); }
.footer h2 { color: var(--white); font-size: clamp(48px, 8vw, 108px); font-weight: 540; }
.footer .button.light { border-color: rgb(65, 71, 81); color: var(--white); }
.footer .button.light.primary { background: var(--white); border-color: var(--white); color: rgb(8, 9, 11); }
.footer-bottom { border-color: rgb(36, 40, 49); color: rgb(119, 127, 138); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.case-artifact.is-mobile { max-width: 520px; }
.pdf-variants button.active { background: rgb(37, 44, 53); color: rgb(255, 255, 255); }
html[lang="zh-CN"] body { letter-spacing: 0px; }
html[lang="zh-CN"] .v3-hero h1, html[lang="zh-CN"] .section-head h2, html[lang="zh-CN"] .page-title, html[lang="zh-CN"] .footer h2 { letter-spacing: -0.045em; }
html[lang="zh-CN"] .v3-hero h1 { line-height: 1.02; max-width: 900px; }
html[lang="zh-CN"] .section-head h2, html[lang="zh-CN"] .page-title { line-height: 1.08; }
html[lang="zh-CN"] .kicker, html[lang="zh-CN"] .label { letter-spacing: 0.04em; }
@media (max-width: 1040px) {.nav-links { display: none; position: absolute; top: 78px; left: 0px; right: 0px; background: rgb(0, 0, 0); padding: 24px var(--pad); border-bottom: 1px solid var(--line); flex-direction: column; align-items: flex-start; gap: 0px; }
.nav-links.open { display: flex; }
.nav-links a { width: 100%; padding: 13px 0px; border-bottom: 1px solid var(--line); font-size: 16px; }
.menu { display: block; }}
@media (max-width: 720px) {.site-header { height: 70px; }
.nav { height: 69px; }
.brand-title > span { font-size: 14px; }
.nav-actions { gap: 10px; }
.language-switch button { min-width: 40px; height: 32px; padding: 0px 8px; }
.menu { min-width: 44px; min-height: 44px; padding: 8px 0px 8px 8px; display: inline-flex; align-items: center; justify-content: flex-end; }
.nav-links { top: 70px; background: rgb(0, 0, 0); border-color: var(--line); padding-block: 28px; gap: 0px; }
.nav-links a { width: 100%; padding: 13px 0px; border-bottom: 1px solid var(--line); font-size: 17px; }
html[lang="zh-CN"] .v3-hero h1 { font-size: clamp(52px, 15vw, 68px); line-height: 1.08; }
.section-head, .public-work-empty { grid-template-columns: 1fr; gap: 30px; }
.footer h2 { line-height: 0.98; }
.footer-bottom { margin-top: 64px; }}
@media (max-width: 480px) {.language-switch button { height: 32px; min-width: 38px; font-size: 10px; }
.menu { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: flex-end; }
.nav-actions { gap: 8px; }
.section-head h2 { font-size: 42px; }
.actions { gap: 9px; }
.button { width: 100%; }
.footer h2 { font-size: 47px; }}
.responsive-visual-pair .is-mobile img { object-fit: cover; }
:root { --ease-out: cubic-bezier(.16,1,.3,1); }
html.motion-ready { scroll-behavior: auto; }
body { cursor: default; }
.site-header { position: fixed; left: 0px; right: 0px; top: 0px; z-index: 999; backdrop-filter: none; isolation: isolate; transition: transform .6s var(--ease-out),background .3s; background: rgb(0, 0, 0) !important; }
.site-header.scrolled { background: rgba(0, 0, 0, 0.96); }
.scroll-progress { position: fixed; right: 18px; top: 50%; z-index: 60; width: 2px; height: 88px; background: rgb(36, 40, 49); transform: translateY(-50%); }
.scroll-progress i { position: absolute; left: 0px; top: 0px; width: 2px; height: 100%; background: var(--accent); transform: scaleY(0); transform-origin: center top; }
.cursor-dot, .cursor-ring { position: fixed; left: 0px; top: 0px; z-index: 1000; pointer-events: none; border-radius: 50%; opacity: 0; transition: opacity .2s,width .3s var(--ease-out),height .3s var(--ease-out),background .3s; }
.cursor-dot { width: 5px; height: 5px; background: rgb(255, 255, 255); margin: -2.5px 0px 0px -2.5px; }
.cursor-ring { width: 34px; height: 34px; margin: -17px 0px 0px -17px; border: 1px solid rgba(255, 255, 255, 0.55); }
.cursor-active .cursor-ring { width: 54px; height: 54px; margin: -27px 0px 0px -27px; background: rgba(168, 191, 223, 0.12); border-color: var(--accent); }
.pulse-hero { min-height: 100svh; padding-top: clamp(118px, 14vh, 168px); padding-bottom: clamp(74px, 10vh, 120px); position: relative; display: flex; flex-direction: column; justify-content: space-between; border-bottom: 1px solid var(--line); overflow: hidden; }
.pulse-hero::after { content: ""; position: absolute; left: 8%; right: 8%; bottom: -118px; height: 154px; border-radius: 50% 50% 0px 0px / 100% 100% 0px 0px; background: rgb(213, 220, 227); opacity: 0.92; transform: translateY(calc(var(--hero-shift,0)*.16px)); }
.pulse-topline { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; color: rgb(144, 151, 161); font-size: 13px; }
.pulse-bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding-bottom: 20px; }
.pulse-bottom p { max-width: 530px; margin: 0px; color: rgb(174, 181, 191); font-size: clamp(17px, 1.55vw, 22px); line-height: 1.42; }
@keyframes breathe { 
  50% { width: 58px; opacity: 0.45; }
}
[data-reveal] { opacity: 1; transform: none; }
[data-reveal].is-visible { opacity: 1; transform: none; }
[data-reveal="line"] { opacity: 1; transform: none; }
[data-reveal="line"].is-visible { opacity: 1; transform: none; }
.button, .arrow-link, .nav-links a, .brand, .contact-row { will-change: transform; }
html[lang="zh-CN"] .pulse-word { letter-spacing: -0.065em; font-weight: 300; }
html[lang="zh-CN"] .pulse-line { line-height: 0.98; }
@media (max-width: 1040px) {.scroll-progress { right: 8px; }}
@media (max-width: 720px) {.cursor-dot, .cursor-ring, .scroll-progress { display: none; }
.pulse-hero { min-height: 100svh; padding-top: 112px; padding-bottom: 84px; }
.pulse-topline { font-size: 12px; }
.pulse-topline > span:last-child { text-align: right; }
.pulse-bottom { align-items: flex-start; flex-direction: column; }
.pulse-hero::after { bottom: -132px; }
[data-reveal] { transform: none; }}
@media (prefers-reduced-motion: reduce) {[data-reveal] { opacity: 1; transform: none; clip-path: none; }
.pulse-stage, .pulse-hero::after { transform: none !important; }}
@media (pointer: coarse) {.cursor-dot, .cursor-ring { display: none; }}
@media (pointer: fine) {html.custom-cursor body, html.custom-cursor a, html.custom-cursor button, html.custom-cursor summary, html.custom-cursor [role="button"] { cursor: none; }}
html { scrollbar-width: auto; scrollbar-color: rgb(96, 105, 117) rgb(0, 0, 0); }
html::-webkit-scrollbar { width: 12px; }
html::-webkit-scrollbar-track { background: rgb(0, 0, 0); }
html::-webkit-scrollbar-thumb { background: rgb(96, 105, 117); border: 3px solid rgb(0, 0, 0); border-radius: 999px; }
.scroll-progress { display: none !important; }
.hero-positioning { max-width: 1120px; margin-block: clamp(58px, 9vh, 110px); }
.hero-positioning h1 { margin: 0px; color: var(--white); font-size: clamp(78px, 12vw, 170px); font-weight: 320; line-height: 0.83; letter-spacing: -0.08em; }
.hero-value { max-width: 920px; margin: clamp(26px, 3.5vh, 40px) 0px 0px; color: rgb(199, 205, 213); font-size: clamp(22px, 2.55vw, 37px); line-height: 1.28; letter-spacing: -0.03em; }
.pulse-topline > span:first-child { text-transform: uppercase; letter-spacing: 0.09em; }
.pulse-bottom p { max-width: 680px; font-size: 14px; letter-spacing: 0.01em; }
@keyframes scroll-down { 
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(6px); }
}
.back-to-top { position: fixed; right: clamp(18px, 2.3vw, 34px); bottom: clamp(18px, 2.3vw, 34px); z-index: 70; display: grid; place-items: center; width: 46px; height: 46px; padding: 0px; border: 1px solid rgb(58, 66, 77); border-radius: 50%; background: rgba(13, 16, 20, 0.88); color: rgb(238, 241, 245); box-shadow: rgba(0, 0, 0, 0.28) 0px 10px 34px; backdrop-filter: blur(12px); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .25s,visibility .25s,transform .35s var(--ease-out),border-color .25s,background .25s; }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.back-to-top:hover { border-color: rgb(127, 140, 157); background: rgb(24, 30, 38); }
.back-to-top svg { width: 19px; height: 19px; fill: none; stroke: currentcolor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 720px) {.hero-positioning { margin-block: 56px; }
.hero-positioning h1 { font-size: clamp(66px, 19vw, 96px); }
.hero-value { font-size: clamp(21px, 6vw, 29px); }
.pulse-bottom { gap: 26px; }
.back-to-top { width: 42px; height: 42px; }}
@media (prefers-reduced-motion: reduce) {.back-to-top { transition: none; }}
html, body { background: rgb(0, 0, 0) !important; }
.site-header, .site-header.scrolled { background: rgb(0, 0, 0) !important; }
.footer { background: rgb(0, 0, 0) !important; }
@media (max-width: 1040px) {.nav-links { background: rgb(0, 0, 0) !important; }}
.cursor-dot, .cursor-ring { mix-blend-mode: difference; }
.cursor-dot { width: 4px; height: 4px; margin: -2px 0px 0px -2px; background: rgb(255, 255, 255); }
.cursor-ring { width: 32px; height: 32px; margin: -16px 0px 0px -16px; border: 1px solid rgba(255, 255, 255, 0.72); box-shadow: rgba(255, 255, 255, 0.04) 0px 0px 0px 1px inset; }
.cursor-active .cursor-ring { width: 50px; height: 50px; margin: -25px 0px 0px -25px; background: rgba(255, 255, 255, 0.07); border-color: rgb(255, 255, 255); }
@media (pointer: coarse), (prefers-reduced-motion: reduce) {.cursor-dot, .cursor-ring { display: none !important; }}
:root { --paper: #000 !important; --dark: #000 !important; }
html, body, .page, main { background: rgb(0, 0, 0) !important; }
.pulse-hero, .page-hero, .conversion-page, .tlp-case-v2, .tlp-case-v3, .oai-case-v2, .oai-case-v3, .pp-case-v1, .pp-case-v2, .dp-case-v1, .support-case { background: rgb(0, 0, 0) !important; }
.pulse-hero::before, .pulse-hero::after { display: none !important; }
body::after { display: none !important; }
.cursor-dot { width: 5px; height: 5px; margin: -2.5px 0px 0px -2.5px; background: rgb(255, 255, 255); border: 0px; box-shadow: none; }
.cursor-ring { width: 36px; height: 36px; margin: -18px 0px 0px -18px; border: 1px solid rgba(255, 255, 255, 0.72); background: transparent; box-shadow: none; }
.cursor-ring::before, .cursor-ring::after { display: none !important; content: none !important; }
.cursor-active .cursor-ring { width: 50px; height: 50px; margin: -25px 0px 0px -25px; background: rgba(255, 255, 255, 0.055); border-color: rgba(255, 255, 255, 0.92); }
.evidence-section { padding-bottom: clamp(88px, 10vw, 148px); }
.oai-product-strip .is-sendo > span { color: var(--oai-blue); }
.oai-product-strip .is-hito > span { color: var(--oai-violet); }
.oai-product-strip .is-bi > span { color: var(--oai-green); }
.oai-case-v3 .is-sendo > span { color: var(--oai-blue); }
.oai-case-v3 .is-hito > span { color: var(--oai-violet); }
.oai-case-v3 .is-bi > span { color: var(--oai-green); }
.oai-model-stories .is-hito img { object-position: center 8%; }
.oai-model-stories .is-bi img { object-position: center center; }
.home-work .section-head p { max-width: 520px; margin: 18px 0px 0px; color: var(--muted,#9ba3ad); font-size: 17px; line-height: 1.55; }
.home-primary-projects { display: grid; gap: clamp(70px, 9vw, 140px); }
.home-supporting-projects { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: clamp(22px, 3vw, 44px); margin-top: clamp(88px, 12vw, 170px); }
.home-project { min-width: 0px; border-top: 1px solid rgba(255, 255, 255, 0.19); }
.home-project-link { position: relative; display: grid; color: inherit; text-decoration: none; outline: none; }
.home-project-primary .home-project-link { grid-template-columns: minmax(280px, 0.7fr) minmax(0px, 1.3fr); gap: clamp(34px, 6vw, 96px); align-items: center; padding-top: 24px; }
.home-project-primary:nth-child(2n) .home-project-copy { order: 2; }
.home-project-primary:nth-child(2n) .home-project-visual { order: 1; }
.home-project-copy { position: relative; min-width: 0px; padding: 5px 48px 5px 0px; }
.home-project-meta { display: flex; gap: 18px; align-items: flex-start; color: rgb(143, 152, 163); font-size: 10px; line-height: 1.45; letter-spacing: 0.095em; text-transform: uppercase; }
.home-project-meta span:first-child { color: rgb(238, 240, 243); }
.home-project-copy h3 { margin: clamp(38px, 5vw, 76px) 0px 13px; font-size: clamp(58px, 7.2vw, 110px); font-weight: 500; line-height: 0.85; letter-spacing: -0.075em; }
.home-project-copy p { max-width: 510px; margin: 0px; color: rgb(195, 201, 208); font-size: clamp(21px, 2.2vw, 31px); line-height: 1.25; letter-spacing: -0.032em; }
.home-project-open { position: absolute; top: 1px; right: 0px; color: rgb(174, 182, 192); font-size: 23px; transition: transform 0.35s, color 0.35s; }
.home-project-visual { margin: 0px; overflow: hidden; background: rgb(23, 26, 31); aspect-ratio: 8 / 5; }
.home-project-visual img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.75s cubic-bezier(0.2, 0.7, 0.2, 1), filter 0.45s; }
.home-project-link:hover .home-project-visual img { transform: scale(1.018); filter: brightness(1.05); }
.home-project-link:hover .home-project-open { color: rgb(255, 255, 255); transform: translate(3px, -3px); }
.home-project-link:focus-visible { outline: rgb(255, 255, 255) solid 2px; outline-offset: 8px; }
.home-project-link:focus-visible .home-project-open { color: rgb(255, 255, 255); transform: translate(3px, -3px); }
.home-project-supporting .home-project-link { gap: 22px; padding-top: 18px; }
.home-project-supporting .home-project-copy { padding-right: 38px; }
.home-project-supporting .home-project-copy h3 { margin: 35px 0px 12px; font-size: clamp(42px, 5vw, 70px); }
.home-project-supporting .home-project-copy p { font-size: clamp(18px, 1.7vw, 24px); line-height: 1.32; }
.home-project-supporting .home-project-visual { order: -1; aspect-ratio: 8 / 5; }
@media (max-width: 900px) {.home-project-primary .home-project-link { grid-template-columns: 1fr; gap: 28px; }
.home-project-primary:nth-child(2n) .home-project-copy { order: 0; }
.home-project-primary:nth-child(2n) .home-project-visual { order: 0; }
.home-project-primary .home-project-visual { order: -1 !important; }
.home-project-copy h3 { margin-top: 34px; }
.home-supporting-projects { gap: 24px; }}
@media (max-width: 680px) {.home-work .section-head p { font-size: 15px; }
.home-primary-projects { gap: 78px; }
.home-supporting-projects { grid-template-columns: 1fr; gap: 70px; margin-top: 92px; }
.home-project-primary .home-project-link, .home-project-supporting .home-project-link { gap: 22px; padding-top: 14px; }
.home-project-copy { padding-right: 34px; }
.home-project-meta { gap: 12px; font-size: 9px; }
.home-project-copy h3, .home-project-supporting .home-project-copy h3 { margin: 28px 0px 10px; font-size: clamp(45px, 15vw, 66px); }
.home-project-copy p, .home-project-supporting .home-project-copy p { font-size: 20px; }
.home-project-visual, .home-project-supporting .home-project-visual { aspect-ratio: 4 / 3; }
.home-project-open { font-size: 19px; }}
@media (prefers-reduced-motion: reduce) {.home-project-visual img, .home-project-open { transition: none; }}
@media (prefers-reduced-motion: reduce) {html { scroll-behavior: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation: auto ease 0s 1 normal none running none !important; }}
.dp-swatches article.is-light { color: rgb(34, 6, 18); }
:root { --motion-fast: 180ms; --motion-page: 240ms; --motion-base: 520ms; --motion-media: 700ms; --motion-slow: 900ms; --ease-standard: cubic-bezier(.4,0,.2,1); --ease-out: cubic-bezier(.22,1,.36,1); --reveal-y: 24px; --media-y: 30px; --media-scale: .99; }
body::after { content: ""; position: fixed; inset: -40%; z-index: 900; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); background-size: 180px 180px; opacity: 0.021; mix-blend-mode: soft-light; }
.site-header, .identity-intro { isolation: isolate; }
.site-header { z-index: 999; }
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: step84-page-out var(--motion-page) var(--ease-standard) both; }
::view-transition-new(root) { animation: step84-page-in var(--motion-page) var(--ease-out) both; }
@keyframes step84-page-out { 
  100% { opacity: 0; transform: translateY(-4px) scale(0.998); }
}
@keyframes step84-page-in { 
  0% { opacity: 0; transform: translateY(5px) scale(0.998); }
}
@keyframes step84-body-in { 
  0% { opacity: 0.01; }
  100% { opacity: 1; }
}
@supports not (view-transition-name:root) {body { animation: step84-body-in var(--motion-page) var(--ease-out) both; }}
.identity-intro.is-playing .identity-intro-mark { opacity: 1; transform: scale(1); }
.identity-intro.is-playing .identity-intro-mark::after { transform: scale(1); }
.identity-intro.is-playing .identity-intro-mark i { animation: intro-ring 620ms var(--ease-out) both; }
.identity-intro.is-playing strong, .identity-intro.is-playing small { opacity: 1; transform: none; }
@keyframes intro-ring { 
  0% { opacity: 0; transform: scale(0.7); }
  35% { opacity: 0.5; }
  100% { opacity: 0; transform: scale(1.45); }
}
.identity-intro.is-playing .identity-intro-sequence i { opacity: 1; transform: none; }
.identity-intro.is-playing .identity-intro-sequence i:nth-child(2) { transition-delay: 45ms; }
.identity-intro.is-playing .identity-intro-sequence i:nth-child(3) { transition-delay: 90ms; }
.identity-intro.is-playing .identity-intro-sequence i:nth-child(4) { transition-delay: 135ms; }
.identity-intro.is-playing .identity-intro-sequence i:nth-child(5) { transition-delay: 180ms; }
.identity-intro.is-playing small { transition-delay: 150ms; }
.identity-intro.is-leaving { opacity: 0; visibility: hidden; }
.pulse-hero::before { content: ""; position: absolute; inset: -18%; z-index: 0; pointer-events: none; background: radial-gradient(circle at 66% 42%, rgba(105, 126, 156, 0.15), transparent 28%), radial-gradient(circle at 26% 75%, rgba(77, 91, 112, 0.09), transparent 33%); filter: blur(30px); transform: translate3d(var(--atmo-x,0),var(--atmo-y,0),0); will-change: transform; }
.pulse-hero > * { position: relative; z-index: 1; }
.motion-ready [data-motion] { transition-property: opacity, transform; transition-timing-function: var(--ease-out); }
.motion-ready [data-motion="text"], .motion-ready [data-motion="group"] { opacity: 0; transform: translateY(var(--reveal-y)); transition-duration: var(--motion-base); }
.motion-ready [data-motion="media"] { opacity: 0.86; transform: translateY(var(--media-y)) scale(var(--media-scale)); transition-duration: var(--motion-media); }
.motion-ready [data-motion="long"] { opacity: 0.9; transform: translateY(20px); transition-duration: var(--motion-media); }
.motion-ready [data-motion="caption"] { opacity: 0; transform: translateY(8px); transition-duration: var(--motion-base); transition-delay: 55ms; }
.motion-ready [data-motion].is-visible { opacity: 1; transform: none; }
.home-project-visual img { transform: scale(1.01); }
.home-project-link:hover .home-project-visual img { transform: scale(1.015); }
.home-project-copy h3, .work-card-copy h3 { background-image: linear-gradient(currentcolor, currentcolor); background-position: 0px 100%; background-repeat: no-repeat; background-size: 0px 1px; transition: background-size var(--motion-base) var(--ease-out); }
.home-project-link:hover .home-project-copy h3, .work-card-link:hover .work-card-copy h3 { background-size: 100% 1px; }
.home-project-open, .work-card-arrow { transition: transform var(--motion-fast) var(--ease-out),color var(--motion-fast); }
.home-project-link:hover .home-project-open, .work-card-link:hover .work-card-arrow { transform: translate(5px, -5px); }
.nav-links a, .arrow-link, .hero-work-link, .button { transition-duration: var(--motion-fast); transition-timing-function: var(--ease-out); }
.back-to-top { transition-duration: var(--motion-fast),var(--motion-fast),var(--motion-base),var(--motion-fast),var(--motion-fast); }
.back-to-top:hover { transform: translateY(-2px); }
@media (max-width: 760px), (pointer: coarse) {.pulse-hero::before { transform: none; will-change: auto; }
.motion-ready [data-motion="media"] { transform: translateY(18px); opacity: 0.9; }
.motion-ready [data-motion="text"], .motion-ready [data-motion="group"], .motion-ready [data-motion="long"] { transform: translateY(16px); }}
@media (prefers-reduced-motion: reduce) {html { scroll-behavior: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation: auto ease 0s 1 normal none running none !important; }
.pulse-hero::before { transform: none !important; will-change: auto; }
.motion-ready [data-motion], .motion-ready [data-motion="text"], .motion-ready [data-motion="group"], .motion-ready [data-motion="media"], .motion-ready [data-motion="long"], .motion-ready [data-motion="caption"] { opacity: 1 !important; transform: none !important; transition: none !important; }
.home-project-visual img, .work-card-visual img { transform: none !important; transition: none !important; }
body { animation: auto ease 0s 1 normal none running none; }
.back-to-top { transition: none; }}
@media (max-width: 480px) {html, body { max-width: 100%; overflow-x: clip; }
.nav { gap: 10px; }
.brand { min-width: 0px; gap: 8px; }
.brand-title > span { font-size: 14px; }
.nav-actions { gap: 6px; }
.language-switch button { min-width: 38px; padding-inline: 7px; }
.menu { min-width: 44px; min-height: 44px; font-size: 12px; }
.hero-positioning { max-width: 100%; }
.hero-positioning h1 { font-size: clamp(54px, 15.5vw, 64px); letter-spacing: -0.07em; }
.hero-value { max-width: 100%; font-size: clamp(20px, 5.35vw, 23px); overflow-wrap: anywhere; }
.pulse-topline, .pulse-bottom { max-width: 100%; }}
.fp-loader { position: fixed; inset: 0px; z-index: 2400; overflow: hidden; background: rgb(0, 0, 0); color: rgb(255, 255, 255); pointer-events: none; clip-path: inset(0px); transition: clip-path 520ms cubic-bezier(0.76, 0, 0.24, 1), visibility 520ms; isolation: isolate; }
.fp-loader::after { content: ""; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 1px; background: rgba(255, 255, 255, 0.9); transform: scaleX(0); transform-origin: left center; transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1); }
.fp-loader.is-playing::after { transform: scaleX(1); }
.fp-loader-top, .fp-loader-bottom { position: absolute; left: clamp(22px, 3vw, 48px); right: clamp(22px, 3vw, 48px); display: flex; align-items: center; justify-content: space-between; gap: 24px; color: rgba(255, 255, 255, 0.62); font: 500 10px / 1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: 0.13em; text-transform: uppercase; opacity: 0; transition: opacity 420ms var(--ease-out),transform 520ms var(--ease-out); }
.fp-loader-top { top: clamp(24px, 3vw, 42px); transform: translateY(-8px); }
.fp-loader-bottom { bottom: clamp(24px, 3vw, 42px); transform: translateY(8px); }
.fp-loader-progress { position: absolute; left: clamp(22px, 3vw, 48px); bottom: clamp(72px, 8.5vw, 118px); width: 112px; height: 112px; display: grid; place-items: center; opacity: 0; transform: scale(0.92); transition: opacity 380ms var(--ease-out),transform 680ms cubic-bezier(.22,1,.36,1); }
.fp-loader-progress svg { position: absolute; inset: 0px; width: 100%; height: 100%; transform: rotate(-90deg); }
.fp-loader-track, .fp-loader-meter { fill: none; stroke-width: 0.7; vector-effect: non-scaling-stroke; }
.fp-loader-track { stroke: rgba(255, 255, 255, 0.17); }
.fp-loader-meter { stroke: rgb(255, 255, 255); stroke-linecap: round; transition: stroke-dashoffset 80ms linear; }
.fp-loader-value { position: relative; color: rgb(255, 255, 255); font-size: 21px; font-weight: 440; letter-spacing: -0.045em; font-variant-numeric: tabular-nums; }
.fp-loader.is-playing .fp-loader-top, .fp-loader.is-playing .fp-loader-bottom { opacity: 1; transform: none; }
.fp-loader.is-playing .fp-loader-progress { opacity: 1; transform: scale(1); transition-delay: 70ms; }
.fp-loader.is-complete .fp-loader-progress { transform: scale(1.06); transition-duration: 260ms; }
.fp-loader.is-leaving { clip-path: inset(0px 0px 100%); visibility: hidden; }
.fp-loader.is-leaving .fp-loader-top, .fp-loader.is-leaving .fp-loader-bottom, .fp-loader.is-leaving .fp-loader-progress { opacity: 0; transition-duration: 220ms; transition-delay: 0ms; }
.pulse-hero::before, .pulse-hero::after { display: none !important; content: none !important; }
@media (max-width: 720px) {.fp-loader-progress { left: 22px; bottom: 88px; width: 86px; height: 86px; }
.fp-loader-value { font-size: 17px; }
.fp-loader-top, .fp-loader-bottom { left: 22px; right: 22px; }
.fp-loader-bottom span:last-child { display: none; }}
@media (prefers-reduced-motion: reduce) {.fp-loader { display: none !important; }}
.fp-loader-top { justify-content: flex-start; }
.fp-loader-bottom { justify-content: flex-end; text-align: right; }
.fp-loader-top span, .fp-loader-bottom span { display: block; }
@media (max-width: 720px) {.fp-loader-bottom { justify-content: flex-end; }
.fp-loader-bottom span { font-size: 9px; letter-spacing: 0.1em; display: block !important; }
.fp-loader-progress { bottom: 82px; }}
.conversion-section { border-top: 1px solid var(--line); }
.opportunity-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.opportunity-card { border: 1px solid var(--line); background: rgb(13, 16, 20); padding: clamp(28px, 3.5vw, 48px); min-height: 500px; display: flex; flex-direction: column; align-items: flex-start; }
.opportunity-card.opportunity-primary { border-top: 2px solid var(--accent); }
.opportunity-card h2 { font-size: clamp(32px, 4vw, 55px); line-height: 1; letter-spacing: -0.05em; color: var(--white); font-weight: 540; margin: 24px 0px 20px; }
.opportunity-card > p { font-size: 18px; color: rgb(157, 165, 175); max-width: 600px; margin: 0px; }
.opportunity-card ul { list-style: none; padding: 0px; margin: 34px 0px 36px; width: 100%; border-top: 1px solid var(--line); }
.opportunity-card li { padding: 12px 0px; border-bottom: 1px solid var(--line); color: rgb(197, 203, 211); font-size: 14px; }
.opportunity-card > .button, .opportunity-card > .actions { margin-top: auto; }
.compact-actions { width: 100%; }
@media (max-width: 950px) {.opportunity-grid { grid-template-columns: 1fr; }
.opportunity-card { min-height: 0px; }}
@media (max-width: 720px) {.opportunity-card { padding: 26px 22px; }
.opportunity-card h2 { font-size: 38px; }}
@media (max-width: 480px) {.opportunity-card h2 { font-size: 35px; }}
.inquiry-layout:not(.has-result) { grid-template-columns: minmax(0px, 900px); justify-content: center; }
.contact-copy-button.is-copied { color: rgb(0, 0, 0); background: rgb(255, 255, 255); border-color: rgb(255, 255, 255); }
@media (max-width: 950px) {.inquiry-layout, .inquiry-layout:not(.has-result) { grid-template-columns: 1fr; }}
@media (max-width: 760px) {html, body { max-width: 100%; overflow-x: clip; }
.page, .shell, .page-hero, .section, .section-head, .section-head > *, .conversion-hero, .case-hero, .curated-case-hero, .work-intro, .work-section-head, .work-card-copy, .opportunity-card, .availability-grid, .availability-grid > *, .first-message-grid, .first-message-grid > * { min-width: 0px; max-width: 100%; }
h1, h2, h3, .page-title, .case-question, .hero-value, .conversion-statement, .work-card-copy h3, .opportunity-card h2, .availability-grid h2, .first-message-grid h2, .footer h2 { max-width: 100%; overflow-wrap: anywhere; word-break: normal; }
.section-head h2, .work-section-head h2 { font-size: clamp(36px, 10.8vw, 48px); line-height: 0.98; letter-spacing: -0.052em; }
.opportunity-card h2 { font-size: clamp(32px, 9.8vw, 40px); line-height: 1; }
.footer h2 { font-size: clamp(42px, 12vw, 54px); line-height: 0.94; }}
@media (max-width: 430px) {.hero-positioning h1 { font-size: clamp(50px, 14.5vw, 60px); }}
:root { --launch-white: #f7f8fa; }
.nav-links a { position: relative; border-bottom-color: transparent !important; }
.nav-links a::after { content: ""; position: absolute; left: 0px; right: 0px; bottom: 17px; height: 1px; background: var(--launch-white); transform: scaleX(0); transform-origin: left center; opacity: 0; transition: transform 0.22s, opacity 0.22s; }
.nav-links a:hover::after { transform: scaleX(0.36); opacity: 0.46; }
.nav-links a[aria-current="page"] { color: var(--launch-white) !important; }
.nav-links a[aria-current="page"]::after { transform: scaleX(1); opacity: 1; }
@media (max-width: 720px) {.nav-links a::after { left: 0px; right: auto; bottom: 7px; width: 30px; }
.nav-links a:hover::after { transform: scaleX(0.55); }
.nav-links a[aria-current="page"]::after { transform: scaleX(1); }}
@media (prefers-reduced-motion: reduce) {.launch-scroll-progress__fill, .nav-links a::after { transition: none !important; }}
:root { --sp-1: 8px; --sp-2: 16px; --sp-3: 24px; --sp-4: 32px; --sp-5: 48px; --sp-6: 64px; --sp-7: 80px; --sp-8: 96px; --sp-9: 128px; --sp-10: 160px; --layout-max: 1320px; --layout-pad: clamp(24px,4.8vw,72px); --grid-gap: clamp(20px,2vw,32px); --section-y: clamp(96px,9vw,136px); --section-head-gap: var(--sp-6); --type-section: clamp(48px,5.4vw,76px); --type-primary-project: clamp(60px,6.2vw,92px); --type-secondary-project: clamp(42px,4.2vw,60px); --type-card: clamp(36px,3.2vw,52px); --type-lede: clamp(20px,1.8vw,26px); --type-body: 17px; }
.shell { width: min(100%,var(--layout-max)); padding-inline: var(--layout-pad); margin-inline: auto; }
.section { padding-block: var(--section-y); }
.section + .section { border-top: 1px solid rgba(255, 255, 255, 0.055); }
.section-head, .work-section-head { display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); column-gap: var(--grid-gap); row-gap: var(--sp-3); margin-bottom: var(--section-head-gap); align-items: start; }
.section-head > :first-child, .work-section-head > :first-child { grid-column: 1 / span 3; }
.section-head > :last-child, .work-section-head > :last-child { grid-column: 4 / -1; }
.section-head h2, .work-section-head h2, .page-title { font-size: var(--type-section); line-height: 0.98; letter-spacing: -0.055em; max-width: 900px; text-wrap: balance; }
.section-head p, .work-section-head p { margin-top: var(--sp-2); max-width: 680px; font-size: var(--type-body); line-height: 1.58; }
.home-primary-projects { gap: var(--sp-9); }
.home-project-primary .home-project-link { display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: var(--grid-gap); align-items: center; padding-top: var(--sp-3); }
.home-project-primary .home-project-copy { grid-column: 1 / span 5; order: initial; padding: 0 var(--sp-4) 0 0; }
.home-project-primary .home-project-visual { grid-column: 6 / -1; order: initial; width: 100%; aspect-ratio: 8 / 5; }
.home-project-primary:nth-child(2n) .home-project-visual { grid-column: 1 / span 7; order: initial; }
.home-project-primary:nth-child(2n) .home-project-copy { grid-column: 8 / -1; order: initial; }
.home-project-copy h3 { margin: var(--sp-5) 0 var(--sp-2); font-size: var(--type-primary-project); line-height: 0.9; letter-spacing: -0.068em; }
.home-project-copy p { max-width: 500px; font-size: var(--type-lede); line-height: 1.32; }
.home-project-meta { gap: var(--sp-2); }
.home-supporting-projects { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: var(--grid-gap); margin-top: var(--sp-9); }
.home-project-supporting .home-project-link { gap: var(--sp-3); padding-top: var(--sp-2); }
.home-project-supporting .home-project-copy { padding: 0 var(--sp-3) var(--sp-2) 0; }
.home-project-supporting .home-project-copy h3 { margin: var(--sp-4) 0 var(--sp-2); font-size: var(--type-secondary-project); line-height: 0.94; }
.home-project-supporting .home-project-copy p { font-size: clamp(18px, 1.45vw, 22px); line-height: 1.4; }
.home-project-supporting .home-project-visual { aspect-ratio: 8 / 5; }
.opportunity-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: var(--grid-gap); align-items: stretch; }
.opportunity-card, .opportunity-card.opportunity-primary { min-height: 540px; padding: var(--sp-5); border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top: 1px solid var(--line); background: rgb(13, 16, 20); }
.opportunity-card h2 { margin: var(--sp-3) 0 var(--sp-2); font-size: var(--type-card); line-height: 1.04; letter-spacing: -0.045em; max-width: 620px; }
.opportunity-card > p { font-size: var(--type-body); line-height: 1.58; }
.opportunity-card ul { margin: var(--sp-4) 0 var(--sp-4); }
.opportunity-card li { padding: var(--sp-2) 0; }
.opportunity-card > .button, .opportunity-card > .actions { margin-top: auto; }
.contact-note { margin-top: var(--sp-5); }
.human-note { display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: var(--grid-gap); padding: var(--sp-6) 0; }
.human-note > .kicker { grid-column: 1 / span 3; }
.human-note > div:last-child { grid-column: 4 / -1; }
.human-note blockquote { max-width: 900px; }
.button { min-height: 48px; padding-inline: var(--sp-3); }
.actions { gap: var(--sp-2); }
.nav-actions { gap: var(--sp-3); }
.nav-links { gap: var(--sp-4); }
.site-header { background: rgb(0, 0, 0) !important; backdrop-filter: none !important; border-bottom-color: rgba(255, 255, 255, 0.12) !important; transition: background-color 0.28s, border-color 0.28s, box-shadow 0.28s, -webkit-backdrop-filter 0.28s, backdrop-filter 0.28s !important; }
.site-header.scrolled { background: rgba(0, 0, 0, 0.7) !important; backdrop-filter: blur(20px) saturate(145%) !important; border-bottom-color: rgba(255, 255, 255, 0.16) !important; box-shadow: rgba(0, 0, 0, 0.22) 0px 10px 34px !important; }
@media (max-width: 1100px) {.opportunity-card, .opportunity-card.opportunity-primary { padding: var(--sp-4); }}
@media (max-width: 900px) {:root { --section-y: var(--sp-8); --section-head-gap: var(--sp-5); }
.section-head, .work-section-head { grid-template-columns: 1fr; row-gap: var(--sp-2); }
.section-head > :first-child, .section-head > :last-child, .work-section-head > :first-child, .work-section-head > :last-child { grid-column: 1; }
.home-primary-projects { gap: var(--sp-8); }
.home-project-primary .home-project-link { grid-template-columns: 1fr; gap: var(--sp-3); }
.home-project-primary .home-project-copy, .home-project-primary:nth-child(2n) .home-project-copy { grid-column: 1; order: 2; padding: 0px; }
.home-project-primary .home-project-visual, .home-project-primary:nth-child(2n) .home-project-visual { grid-column: 1; order: 1; }
.opportunity-grid { grid-template-columns: 1fr; }
.opportunity-card, .opportunity-card.opportunity-primary { min-height: 0px; }
.human-note { grid-template-columns: 1fr; padding: var(--sp-5) 0; }
.human-note > .kicker, .human-note > div:last-child { grid-column: 1; }}
@media (max-width: 720px) {:root { --layout-pad: 22px; --section-y: 72px; --section-head-gap: 40px; --grid-gap: 20px; }
.section-head h2, .work-section-head h2, .page-title { font-size: clamp(42px, 12vw, 58px); }
.home-supporting-projects { grid-template-columns: 1fr; gap: var(--sp-7); margin-top: var(--sp-8); }
.home-project-copy h3, .home-project-supporting .home-project-copy h3 { font-size: clamp(44px, 14vw, 62px); }
.home-project-copy p, .home-project-supporting .home-project-copy p { font-size: 19px; }
.opportunity-card, .opportunity-card.opportunity-primary { padding: var(--sp-3); }
.site-header.scrolled { background: rgba(0, 0, 0, 0.84) !important; backdrop-filter: blur(16px) saturate(135%) !important; }}
@media (max-width: 480px) {:root { --layout-pad: 18px; }
.section { padding-block: 64px; }
.opportunity-card, .opportunity-card.opportunity-primary { padding: 24px 20px; }
.actions { gap: 12px; }}
@media (prefers-reduced-motion: reduce) {.site-header { transition: none !important; }}
@media (min-width: 901px) {.home-primary-projects { display: grid; gap: var(--sp-9,128px); }
.home-project-primary .home-project-link { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); column-gap: var(--grid-gap,32px); align-items: center; padding-top: var(--sp-3,24px); }
.home-project-primary .home-project-copy { grid-area: 1 / 1; order: initial; padding: 0 var(--sp-5,48px) 0 0; align-self: center; }
.home-project-primary .home-project-visual { grid-area: 1 / 2; order: initial; width: 100%; aspect-ratio: 8 / 5; align-self: center; }
.home-project-primary:nth-child(2n) .home-project-visual { grid-area: 1 / 1; order: initial; }
.home-project-primary:nth-child(2n) .home-project-copy { grid-area: 1 / 2; order: initial; padding: 0 0 0 var(--sp-5,48px); }
.home-project-primary .home-project-copy h3 { margin: var(--sp-5,48px) 0 var(--sp-2,16px); max-width: 100%; }
.home-project-primary .home-project-copy p { max-width: 520px; }}
@media (max-width: 900px) {.home-project-primary .home-project-copy, .home-project-primary:nth-child(2n) .home-project-copy { padding: 0px; }}
.rbc-scan-status b.is-scanning { color: rgb(255, 255, 255); }
.rbc-scan-status b.is-issue { color: rgb(255, 157, 148); }
.rbc-scan-status b.is-pass { color: rgb(136, 219, 171); }
.rbc-scan-status b.is-warning { color: rgb(245, 200, 100); }
:root { --font-sans: "Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; --font-cjk: "PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif; --font-display: "Bricolage Display","Bricolage Metric Fallback","Helvetica Neue",Arial,sans-serif; --font-display-cjk: "PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif; --v154-white: #f2f3f5; --v154-text: #c4c9d0; --v154-muted: #858d98; --v154-dim: #626a75; --v154-rule: rgba(255,255,255,.12); --v154-rule-soft: rgba(255,255,255,.065); --v154-panel: #0d0f12; --v154-ease: cubic-bezier(.16,1,.3,1); --v154-display-xl: clamp(84px,9.2vw,146px); --v154-display-page: clamp(62px,6.8vw,102px); --v154-display-section: clamp(46px,5.1vw,74px); --v154-display-project: clamp(36px,4vw,60px); --v154-display-card: clamp(24px,2.2vw,34px); --v154-body: 17px; --v154-meta: 11px; }
html, body { background: rgb(0, 0, 0); color: var(--v154-white); }
body { font-family: var(--font-sans); }
html:lang(zh-CN) body { font-family: var(--font-cjk); }
.site-header, .site-header.scrolled { background: rgb(0, 0, 0); border-bottom: 1px solid var(--v154-rule); box-shadow: none; }
.brand-title > span { font-weight: 620; letter-spacing: -0.024em; }
.nav-links a { color: rgb(146, 153, 162); }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: rgb(255, 255, 255); }
[id] { scroll-margin-top: 104px; }
.hero-positioning h1, .footer-cta-title { font-family: var(--font-display); font-size: var(--v154-display-xl); font-weight: 660; line-height: 0.89; letter-spacing: -0.045em; font-stretch: 100%; }
.section-head h2, .work-section-head h2, .curated-case-section h2, .tlp-section h2, .oai-section h2, .pp-section h2, .dp-section h2, .rbc-section h2, .rbc-section-head h2, .rbc-demo-head h2, .rbc-qa-head h2, .human-note blockquote, .availability-grid h2, .conversion-statement { font-family: var(--font-display); font-size: var(--v154-display-section); font-weight: 620; line-height: 0.97; letter-spacing: -0.037em; font-stretch: 100%; }
.home-project-copy h3, .work-card-copy h3, .curated-copy h3, .project-card h3, .work-tile h2, .opportunity-card h2, .workflow h2, .about-preview .statement, .conversion-row h2 { font-family: var(--font-display); font-size: var(--v154-display-project); font-weight: 610; line-height: 0.99; letter-spacing: -0.031em; font-stretch: 100%; }
.section-head p, .work-section-head p, .hero-value, .page-hero p, .unified-info-item p, .opportunity-card > p { font-family: var(--font-sans); font-size: var(--v154-body); line-height: 1.56; }
.kicker, .label, .mono, .tag, .status, .crumb, .unified-info-item > .mono, .resume-fact .label { font-family: var(--font-sans); font-size: var(--v154-meta); font-weight: 600; line-height: 1.35; letter-spacing: 0.095em; text-transform: uppercase; }
html:lang(zh-CN) .hero-positioning h1, html:lang(zh-CN) .page-title, html:lang(zh-CN) .case-hero h1, html:lang(zh-CN) .curated-case-hero h1, html:lang(zh-CN) .oai-hero h1, html:lang(zh-CN) .tlp-hero h1, html:lang(zh-CN) .pp-hero h1, html:lang(zh-CN) .dp-hero h1, html:lang(zh-CN) .section-head h2, html:lang(zh-CN) .work-section-head h2, html:lang(zh-CN) .human-note blockquote, html:lang(zh-CN) .footer-cta-title { font-family: var(--font-display-cjk); letter-spacing: -0.022em; line-height: 1.03; }
html:not(:lang(zh-CN)) .hero-role, html:not(:lang(zh-CN)) .aw-editorial-title em, html:not(:lang(zh-CN)) .display-emphasis { font-family: var(--font-display); font-style: oblique 9deg; font-weight: 520; letter-spacing: -0.02em; }
html:lang(zh-CN) .hero-role, html:lang(zh-CN) .aw-editorial-title em, html:lang(zh-CN) .display-emphasis { font-style: normal; }
.section-head, .work-section-head { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: clamp(44px, 5vw, 72px); }
.section-head > :first-child, .section-head > :last-child, .work-section-head > :first-child, .work-section-head > :last-child { grid-column: auto; width: auto; }
.section-head > div:last-child, .work-section-head > div:last-child { width: min(100%, 980px); }
.section-head h2, .work-section-head h2 { margin: 0px; max-width: 940px; }
.section-head p, .work-section-head p { max-width: 720px; margin: 14px 0px 0px; color: rgb(143, 150, 159); }
.section-head .aw-classification, .work-section-head .aw-classification { margin-top: 22px; }
.pulse-hero { min-height: 100svh; isolation: isolate; }
.pulse-hero::after { display: block; content: ""; position: absolute; inset: auto 4% -16% 38%; height: 48%; border-radius: 50%; background: radial-gradient(rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.01) 38%, transparent 72%); filter: blur(76px); opacity: 0.58; pointer-events: none; z-index: 0; }
.pulse-hero > :not(.aw-pixel-field) { position: relative; z-index: 1; }
#selected-work .aw-editorial-title { font-family: var(--font-display); font-size: var(--v154-display-section); font-weight: 620; line-height: 0.95; letter-spacing: -0.037em; max-width: 900px; text-wrap: balance; }
#selected-work .aw-editorial-title span { display: block; }
#selected-work .aw-editorial-subtitle { max-width: 34em; }
html:lang(zh-CN) #selected-work .aw-editorial-title { font-family: var(--font-display-cjk); max-width: 10.5em; word-break: keep-all; overflow-wrap: normal; line-height: 1.04; letter-spacing: -0.022em; }
.aw-classification, .aw-tags { display: flex; flex-wrap: wrap; gap: 0px; align-items: center; }
.aw-classification span, .aw-tags span { padding: 0px; border: 0px; background: transparent; color: rgb(117, 125, 135); font: 600 9px/1.3 var(--font-sans); letter-spacing: 0.09em; text-transform: uppercase; }
.aw-classification span + span::before, .aw-tags span + span::before { content: " / "; color: rgb(62, 69, 78); margin: 0px 10px; }
.home-project-visual::after, .work-card-visual::after { display: none; }
.line-icon { width: 28px; height: 28px; display: block; overflow: visible; color: rgb(217, 221, 227); flex: 0 0 auto; }
.line-icon path, .line-icon rect, .line-icon polyline, .line-icon line { fill: none; stroke: currentcolor; stroke-width: 1.5; stroke-linecap: square; stroke-linejoin: miter; vector-effect: non-scaling-stroke; transform-box: fill-box; transform-origin: center center; transition: transform 220ms var(--v154-ease),opacity 180ms ease,stroke 180ms ease; }
.line-icon path, .line-icon rect { stroke-dasharray: 96; stroke-dashoffset: 0; }
.aw-capability-item:hover .line-icon path, .aw-capability-item:hover .line-icon rect, .unified-info-item:hover .line-icon path, .unified-info-item:hover .line-icon rect, .opportunity-card:hover .line-icon path, .opportunity-card:hover .line-icon rect { animation: v154-line-draw 220ms var(--v154-ease) both; color: rgb(255, 255, 255); }
.aw-capability-item:hover .line-icon path:nth-child(2), .unified-info-item:hover .line-icon path:nth-child(2), .opportunity-card:hover .line-icon path:nth-child(2) { transform: translate(1px, -1px); }
@keyframes v154-line-draw { 
  0% { stroke-dashoffset: 18; opacity: 0.45; }
  100% { stroke-dashoffset: 0; opacity: 1; }
}
.service-line-icon { width: 34px; height: 34px; display: grid; place-items: start; color: rgb(217, 221, 227); }
.service-line-icon .line-icon { width: 30px; height: 30px; }
.aw-capability-rail { background: rgb(0, 0, 0); border-top: 1px solid var(--v154-rule); border-bottom: 1px solid var(--v154-rule); }
.aw-capability-grid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: clamp(28px, 4vw, 72px); padding-block: 30px 32px; }
.aw-capability-item { min-height: 0px; padding: 0px; border: 0px; background: transparent; display: grid; grid-template-rows: auto 1fr; align-content: start; }
.aw-capability-item::after { display: none; }
.aw-capability-top { display: flex; justify-content: flex-start; gap: 16px; align-items: center; }
.aw-capability-item b { font-family: var(--font-display); font-size: 15px; font-weight: 580; letter-spacing: -0.012em; }
.aw-capability-item p { font-family: var(--font-sans); margin: 16px 0px 0px 44px; max-width: 210px; font-size: 10px; line-height: 1.55; letter-spacing: 0.055em; color: rgb(112, 121, 133); text-transform: uppercase; }
body[data-page="home"] #services .opportunity-grid { display: grid; grid-template-columns: 1fr; gap: 0px; border-top: 1px solid var(--v154-rule); }
body[data-page="home"] #services .opportunity-card, body[data-page="home"] #services .opportunity-card.opportunity-primary { min-height: 0px; padding: clamp(32px, 4.5vw, 60px) 0px; border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 1px solid var(--v154-rule); background: transparent; display: grid; grid-template-columns: repeat(12, minmax(0px, 1fr)); gap: var(--grid-gap); align-items: start; }
body[data-page="home"] #services .opportunity-card::before { display: none; }
body[data-page="home"] #services .service-line-icon { grid-column: 1 / span 1; margin: 0px; }
body[data-page="home"] #services .opportunity-card > .kicker { grid-column: 2 / span 2; margin-top: 2px; }
body[data-page="home"] #services .opportunity-card > h2 { grid-column: 4 / span 4; margin: 0px; }
body[data-page="home"] #services .opportunity-card > p { grid-column: 8 / -1; margin: 0px; color: rgb(142, 150, 159); }
body[data-page="home"] #services .opportunity-card > ul { grid-column: 4 / span 4; margin: 28px 0px 0px; border: 0px; display: flex; flex-wrap: wrap; gap: 8px; }
body[data-page="home"] #services .opportunity-card li { min-height: 0px; padding: 0px; border: 0px; color: rgb(143, 150, 159); font-size: 11px; }
body[data-page="home"] #services .opportunity-card li + li::before { content: " / "; color: rgb(65, 72, 81); margin-right: 8px; }
body[data-page="home"] #services .compact-actions { grid-column: 8 / -1; margin: 28px 0px 0px; width: auto; }
body[data-page="home"] #services .compact-actions .button:not(.primary) { display: none; }
body[data-page="home"] #services .contact-note { max-width: 780px; margin: 42px 0px 0px; color: rgb(111, 119, 129); font-size: 12px; line-height: 1.6; }
.human-note { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: 0px; border: 0px; }
.human-note > .kicker, .human-note > div:last-child { grid-column: auto; width: min(100%, 980px); }
.human-note blockquote { margin: 0px; max-width: 920px; }
.human-note > div:last-child > p { margin-top: 22px; }
.section + .section { border-top: 1px solid var(--v154-rule-soft); }
.footer { background: rgb(0, 0, 0); }
.footer-cta-title { max-width: 12.2em; margin: 18px 0px 0px; text-wrap: balance; }
.footer .actions { margin-top: 42px; }
.footer-bottom { border-top: 1px solid var(--v154-rule); color: rgb(125, 133, 143); }
html:lang(zh-CN) .footer-cta-title { font-family: var(--font-display-cjk); font-size: clamp(54px, 5.6vw, 82px); line-height: 0.98; letter-spacing: -0.022em; max-width: 12em; }
.ui-arrow { width: 1em; height: 1em; display: inline-block; flex: 0 0 auto; overflow: visible; vertical-align: -0.12em; margin-left: 0.28em; color: currentcolor; }
.ui-arrow path { fill: none; stroke: currentcolor; stroke-width: 1.5; stroke-linecap: square; stroke-linejoin: miter; vector-effect: non-scaling-stroke; transition: transform 180ms var(--v154-ease); }
a:is(:hover, :focus-visible) .ui-arrow--external path, a:is(:hover, :focus-visible) .ui-arrow--right path, button:is(:hover, :focus-visible) .ui-arrow--external path, button:is(:hover, :focus-visible) .ui-arrow--right path { transform: translate(1px, -1px); }
.back-to-top { position: fixed; right: clamp(18px, 2.3vw, 34px); bottom: clamp(18px, 2.3vw, 34px); z-index: 70; display: grid; place-items: center; width: 46px; height: 46px; min-width: 46px; padding: 0px; border: 1px solid rgb(58, 66, 77); border-radius: 50%; background: rgba(13, 16, 20, 0.88); color: rgb(238, 241, 245); box-shadow: rgba(0, 0, 0, 0.28) 0px 10px 34px; backdrop-filter: blur(12px); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .25s,visibility .25s,transform .35s var(--v154-ease),border-color .25s,background .25s; }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.back-to-top:hover { border-color: rgb(127, 140, 157); background: rgb(24, 30, 38); color: rgb(255, 255, 255); transform: translateY(-2px); }
.back-to-top .ui-arrow { width: 18px; height: 18px; margin: 0px; }
.cursor-ring { width: 28px; height: 28px; margin: -14px 0px 0px -14px; border-color: rgba(255, 255, 255, 0.5); }
.cursor-active .cursor-ring { width: 40px; height: 40px; margin: -20px 0px 0px -20px; background: rgba(255, 255, 255, 0.035); }
@media (max-width: 900px) {.aw-capability-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 0px; padding: 0px; }
.aw-capability-item { padding: 24px 0px; border-bottom: 1px solid var(--v154-rule-soft); }
.aw-capability-item:nth-child(2n+1) { padding-right: 24px; }
.aw-capability-item:nth-child(2n) { padding-left: 24px; }
body[data-page="home"] #services .opportunity-card, body[data-page="home"] #services .opportunity-card.opportunity-primary { grid-template-columns: 1fr; gap: 18px; }
body[data-page="home"] #services .service-line-icon, body[data-page="home"] #services .opportunity-card > .kicker, body[data-page="home"] #services .opportunity-card > h2, body[data-page="home"] #services .opportunity-card > p, body[data-page="home"] #services .opportunity-card > ul, body[data-page="home"] #services .compact-actions { grid-column: 1; }
body[data-page="home"] #services .opportunity-card > ul { margin-top: 4px; }
body[data-page="home"] #services .compact-actions { margin-top: 6px; }}
@media (max-width: 640px) {:root { --v154-display-xl: clamp(56px,16vw,76px); --v154-display-page: clamp(47px,13vw,62px); --v154-display-section: clamp(38px,10.6vw,52px); --v154-display-project: clamp(32px,9vw,44px); --v154-display-card: clamp(24px,7vw,32px); }
.pulse-hero::after { inset: auto -35% -5% 6%; height: 34%; filter: blur(48px); opacity: 0.4; }
.aw-capability-top { align-items: flex-start; flex-direction: column; gap: 10px; }
.aw-capability-item p { margin-left: 0px; }
.aw-capability-item:nth-child(2n+1) { padding-right: 16px; }
.aw-capability-item:nth-child(2n) { padding-left: 16px; }
.back-to-top { width: 42px; height: 42px; min-width: 42px; }
.footer-cta-title { max-width: 9.8em; }
html:lang(zh-CN) .footer-cta-title { font-size: clamp(42px, 10.8vw, 56px); line-height: 1.02; }}
@media (pointer: coarse) {.custom-cursor .cursor-dot, .custom-cursor .cursor-ring { display: none; }}
@media (prefers-reduced-motion: reduce) {html { scroll-behavior: auto; }
.custom-cursor body, .custom-cursor a, .custom-cursor button, .custom-cursor summary, .custom-cursor [role="button"] { cursor: auto; }
.cursor-dot, .cursor-ring { display: none; }
.line-icon path, .line-icon rect, .ui-arrow path { animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
.pulse-hero::after { transform: none !important; }}
.footer-cta-title .footer-line { display: block; }