/* The chosen F direction, developed into a bilingual editorial system. */
html{scroll-padding-top:100px}.f-site{--f-pad:clamp(18px,2vw,34px);color:#14191f}.f-site h1,.f-site h2,.f-site h3{letter-spacing:-.055em}.f-site p{line-height:1.5}.f-site .text-link{font-size:1rem;line-height:1.5}.f-site .text-link:hover{color:var(--f-blue)}.f-site .f-dark .text-link:hover{color:var(--f-ice)}.f-site .f-header{inset:24px var(--f-pad) auto;grid-template-columns:.8fr 1.65fr 1.25fr;gap:20px;align-items:center}.f-site .f-header::before{content:'';position:absolute;inset:-12px -10px;z-index:-1;background:#cbd1d6eb;backdrop-filter:blur(12px);opacity:0;transition:opacity .25s}.f-site.has-scrolled .f-header::before{opacity:1}.f-site .f-header.on-dark::before{background:#171b20ed}.f-site .f-header nav{gap:22px}.f-site .f-header nav a,.f-site .f-header nav button{min-height:44px;display:flex;align-items:center;padding:8px 0}.f-site .f-header-actions{align-items:center;gap:16px}.f-language{font-size:.875rem;font-weight:600;min-height:44px;display:flex;align-items:center}.f-site .f-button{min-height:44px;padding:8px 10px;line-height:1.25}.f-site .f-header-actions .f-button{min-height:40px}.f-site .f-header-actions>button[data-sound]{min-height:32px;font-size:.75rem}.f-site .f-about-body>p{line-height:1.16;letter-spacing:-.045em}.f-site .f-about-body nav a{padding:10px 0}.f-site .f-about-details{font-size:1rem}.f-reading-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:90;pointer-events:none}.f-reading-progress i{display:block;height:100%;width:100%;transform:scaleX(var(--reading,0));transform-origin:left;background:var(--f-blue)}
.f-site .f-hero{grid-template-columns:1fr 2fr;gap:6vw;padding:140px var(--f-pad) 85px}.f-site .f-hero h1{font-size:clamp(65px,9.15vw,158px);line-height:.92;letter-spacing:-.065em;margin-bottom:75px}.f-site .f-hero h1>span{transform:translateX(calc(var(--hero-p,0)*(var(--line)*9px - 15px))) translateY(calc(var(--hero-p,0)*var(--line)*-5px));transform-origin:0 50%}.f-site .f-identity{font:12px/1.6 ui-monospace,monospace;letter-spacing:.04em;margin-bottom:5px}.f-site .f-hero-aside p{font-size:22px;line-height:1.23;letter-spacing:-.035em}.f-site .f-feature{min-height:450px;aspect-ratio:1.55}.f-site .f-feature-news strong{font-size:1rem;line-height:1.18}.f-site .f-feature-news small{font:12px/1.5 ui-monospace,monospace}.f-site .f-feature-art figcaption{font-size:.75rem;max-width:80%;line-height:1.4}.f-site .f-studio{padding-inline:var(--f-pad)}.f-site .f-studio>div>h2{line-height:1.13;letter-spacing:-.045em}.f-site .f-studio-credit{font-size:1rem;line-height:1.55;max-width:660px;margin-top:40px;color:#cad2df}.f-site .f-record-selector>span{font-size:.875rem}.f-site .f-status-list>article>span,.f-site .f-status-list>article>p{font-size:1rem}.f-site .f-practice-strip>span{font-size:.875rem}.f-site .f-gap h2{line-height:1.05}.f-site .f-gap .scene-sticky{min-height:760px}.f-site .f-gap .scene-sticky>p{font-size:1rem;line-height:1.5;z-index:5}.f-optical-particles{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:.75}.f-site .f-gap-images{z-index:2}.f-site .f-work{padding:90px var(--f-pad) 100px;gap:6vw}.f-site .f-section-rail>span{font-size:.875rem}.f-site .f-section-rail>p{max-width:280px;margin:25px 0;font-size:1rem}.f-site .f-project-copy>p{font-size:1rem}.f-site .f-project-copy small{font-size:.875rem}.f-site .f-project-copy h3{font-size:43px;line-height:1.05}.f-site .f-project-copy>span{font-size:.75rem;line-height:1.4}.f-site .f-project-copy strong{font-size:23px;line-height:1.2}.f-site .os-poster{width:100%;height:100%;min-height:0;font-size:clamp(40px,4.4vw,72px);line-height:1;padding:35px;display:flex;justify-content:center;flex-direction:column;overflow-wrap:anywhere}.f-site .os-poster small{font-size:1rem;margin-top:30px}.f-site .f-journal-heading{font-size:.875rem}.f-site .f-journal-slides h2{line-height:1.15;letter-spacing:-.045em}.f-site .f-journal-slides p{font-size:1rem}.f-site .f-service-list h2{line-height:1.13;letter-spacing:-.045em}.f-site .f-service-list>div>span{font-size:.875rem}.f-site .f-process>h2{line-height:1.02;font-size:10.6vw;letter-spacing:-.07em}.f-site .f-process h3{line-height:1.12}.f-site .f-process article p{font-size:1rem}.f-site .f-process article>div>span{font-size:.875rem}.f-site .f-faq summary{font-size:1.125rem;line-height:1.4;min-height:40px;align-items:center}.f-site .f-faq details p{font-size:1rem}.f-site .f-contact h2{font-size:clamp(65px,9.8vw,152px);line-height:.98;letter-spacing:-.06em}.f-contact-copy{max-width:650px;margin:40px auto 0;display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:center}.f-contact-copy>p{flex-basis:100%;font-size:1rem;line-height:1.5}.f-email{font-size:1.1rem;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:6px}.f-copy-email{color:inherit;background:none;border:0;border-bottom:1px solid #b6c6df;padding:5px 0;font-size:.875rem}.f-copy-status{flex-basis:100%;font-size:.875rem;min-height:20px}.f-contact-compact{padding-bottom:90px!important;border-top:1px solid #62718766}.f-site .f-contact-art{height:460px;margin-top:60px}.f-site .f-footer nav a{line-height:1.15;font-size:32px}.f-site .f-footer-grid>div>span{font-size:.875rem}.f-site .f-footer-grid>div>a,.f-site .f-footer-grid>div>p{font-size:1rem}.f-site .f-footer-grid .f-archive-link{font-size:.875rem;color:#c2cedf;margin-top:18px}.f-site .f-footer-line{font-size:.875rem}.f-site .f-footer .f-liquid{height:300px}.f-site .f-liquid>span{font-size:1rem}.f-site .f-footer .f-liquid{margin-inline:calc(var(--f-pad)*-1)}.f-site .f-footer{padding-inline:var(--f-pad)}
/* Interior routes use F's wide-right editorial grid and keep evidence legible. */
.f-inner-hero{padding:170px var(--f-pad) 85px;display:grid;grid-template-columns:1fr 2fr;gap:6vw;align-items:start}.f-inner-hero>aside{display:flex;flex-direction:column;gap:28px;align-items:start}.f-inner-hero>aside>span{font-size:.875rem;line-height:1.5;max-width:280px}.f-inner-hero>aside>strong{font-size:1rem;font-weight:500;max-width:260px}.f-inner-hero h1{font-size:clamp(65px,8.2vw,136px);font-weight:700;line-height:1.02;letter-spacing:-.06em;max-width:1060px;overflow-wrap:anywhere}.f-inner-hero>div>p{font-size:1.25rem;line-height:1.5;max-width:660px;margin-top:40px}.f-inner-hero [data-f-type]{--type-p:0;transform:translateY(calc(var(--type-p)*-20px));transform-origin:left top}.f-case-scene{background:#171b20;color:#f3f5f8;position:relative;--p:0}.f-case-scene .scene-sticky{position:relative;padding:75px var(--f-pad);min-height:720px;display:flex;align-items:center;justify-content:center;overflow:clip}.f-case-brand{position:absolute;left:var(--f-pad);right:var(--f-pad);top:55px;font-size:17vw;line-height:1;font-weight:700;letter-spacing:-.07em;text-align:center;color:#718098;transform:translateX(calc(var(--p)*-9vw))}.f-case-visual{position:relative;z-index:2;width:78%;height:580px;transform:scale(calc(.91 + var(--p)*.09));background:#28313f;overflow:hidden}.f-case-visual img{width:100%;height:100%;object-fit:contain;object-position:50% 0;transform:translateY(calc(var(--p)*-10px)) scale(calc(1.04 - var(--p)*.04));transform-origin:50% 0}.f-case-visual figcaption{position:absolute;bottom:18px;left:18px;right:18px;width:max-content;max-width:90%;font-size:.875rem;line-height:1.4;background:#cbd1d6ee;color:#171b20;padding:8px 12px}.motion-enabled .f-case-scene{height:165svh}.motion-enabled .f-case-scene .scene-sticky{position:sticky;top:0;height:100svh;min-height:760px}.f-case-body{padding:100px var(--f-pad) 100px;display:grid;grid-template-columns:1fr 2fr;gap:6vw}.f-case-body>aside{position:sticky;top:125px;align-self:start;max-width:350px}.f-case-body>aside>span{font-size:.875rem}.f-case-body dl{margin-top:30px}.f-case-body dl>div{padding:22px 0;border-top:1px solid #a5adb8}.f-case-body dt{font-size:.875rem;color:#515b6a;margin-bottom:8px}.f-case-body dd{margin:0;font-size:1rem;line-height:1.5}.f-case-body article{max-width:780px;margin-bottom:80px;--q:0}.f-case-body article>span{font:12px ui-monospace,monospace}.f-case-body article h2{font-size:clamp(35px,3.6vw,58px);line-height:1.12;margin:24px 0;transform:translateX(calc((var(--q) - .5)*12px))}.f-case-body article p{max-width:710px;font-size:1.125rem;line-height:1.65}.f-outcome{font-size:clamp(38px,4.8vw,80px);line-height:1.08;margin:20px 0 40px;color:var(--f-blue)}.f-release-note{font-size:1rem;line-height:1.55;border-left:3px solid var(--f-blue);padding:0 0 0 24px;margin:35px 0;max-width:700px}.f-case-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:40px}.f-next-project{border-top:1px solid #a5adb8;padding:70px var(--f-pad);display:grid;grid-template-columns:1fr 2fr;gap:6vw}.f-next-project>span{font-size:.875rem}.f-next-project>a{font-size:clamp(55px,7vw,115px);font-weight:700;letter-spacing:-.06em;line-height:1.08}.f-next-project>a:hover{color:var(--f-blue)}.f-next-project>a>span{display:block;font-size:1.125rem;font-weight:400;letter-spacing:0;margin-top:20px}
.f-journal-index-hero{padding-bottom:105px}.f-journal-index-hero>aside>p{font-size:1.125rem;line-height:1.5;max-width:330px}.f-journal-index-hero h1{font-size:clamp(75px,11.2vw,180px);line-height:.99}.f-journal-archive{padding:0 var(--f-pad) 90px}.f-journal-record{display:grid;grid-template-columns:.35fr 1.75fr .8fr;gap:40px;padding:65px 0 75px;border-top:1px solid #9ba6b6;--q:0}.f-journal-record>span{font:12px/1.5 ui-monospace,monospace}.f-journal-record h2{font-size:clamp(30px,3.25vw,54px);line-height:1.14;letter-spacing:-.045em;transform:translateX(calc((var(--q) - .4)*10px));max-width:780px}.f-journal-record h2 a:hover{color:var(--f-blue)}.f-journal-record>div>p{max-width:650px;font-size:1rem;line-height:1.65;margin:28px 0}.f-journal-record>aside{display:flex;flex-direction:column;gap:20px}.f-journal-record time{font-size:.875rem}.f-journal-record strong{font-size:1rem;line-height:1.5;font-weight:500}.f-journal-record aside>span{font:12px/1.5 ui-monospace,monospace;color:#4d596a}.f-record-credit{font-size:.875rem;line-height:1.55;color:#3c495d}.f-backfill{padding-top:50px;border-top:1px solid #9ba6b6;display:grid;grid-template-columns:1fr 2fr;gap:6vw}.f-backfill>span{font-size:.875rem}.f-backfill p{max-width:650px;font-size:1rem;line-height:1.6}
.f-article-hero h1{font-size:clamp(43px,5.6vw,90px);line-height:1.08;letter-spacing:-.05em}.f-article-meta{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:45px;max-width:820px}.f-article-meta>div{display:flex;flex-direction:column;gap:9px}.f-article-meta>div>span{font-size:.875rem;color:#4d596a}.f-article-meta time{font-size:1rem;line-height:1.5}.f-article-meta>strong{grid-column:1/-1;font-size:1rem;font-weight:500;color:var(--f-blue)}.f-article-reading{padding:20px var(--f-pad) 110px;display:grid;grid-template-columns:1fr 2fr;gap:6vw}.f-article-reading>aside{position:sticky;top:125px;align-self:start;max-width:330px}.f-article-reading>aside>span{font-size:.875rem}.f-article-reading nav{display:flex;flex-direction:column;gap:16px;margin-top:30px}.f-article-reading nav a{display:grid;grid-template-columns:27px 1fr;gap:14px;font-size:.875rem;line-height:1.5;padding:8px 0}.f-article-reading nav a>span{font-size:12px;color:#465469}.f-article-reading nav a:hover,.f-article-reading nav a.is-current{color:var(--f-blue)}.f-article-body{max-width:800px}.f-evidence{padding:30px 0 30px 26px;border-left:3px solid var(--f-blue);margin-bottom:55px;background:#dbe3ed88}.f-evidence>span{font-size:.875rem;font-weight:600}.f-evidence p{font-size:1rem;line-height:1.6;margin:12px 24px 0 0}.f-article-body>section{padding:40px 0 55px;border-top:1px solid #a5afbdb3;scroll-margin-top:115px;--q:0}.f-article-body>section>span{font:12px/1.5 ui-monospace,monospace}.f-article-body>section h2{font-size:clamp(28px,2.8vw,43px);line-height:1.13;letter-spacing:-.04em;margin:22px 0}.f-article-body>section p{font-size:1.125rem;line-height:1.8;letter-spacing:-.01em}.f-article-body p a{color:var(--f-blue);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.f-article-body p a:hover{color:#143393}.f-article-body code{font:1rem/1.4 ui-monospace,monospace;background:#d9e1ee;padding:2px 5px;overflow-wrap:anywhere}.f-article-credit{font-size:1rem;padding:20px 0 40px;line-height:1.6}.f-site.lang-zh h1,.f-site.lang-zh h2,.f-site.lang-zh h3{letter-spacing:-.03em;line-height:1.14}.f-site.lang-zh .f-hero h1{font-size:clamp(55px,7.45vw,130px);line-height:1.09}.f-site.lang-zh .f-hero-aside p{font-size:21px;line-height:1.5}.f-site.lang-zh .f-inner-hero h1{font-size:clamp(52px,6.3vw,106px);line-height:1.14}.f-site.lang-zh .f-article-hero h1{font-size:clamp(36px,4.5vw,72px)}.f-site.lang-zh .f-journal-index-hero h1{font-size:clamp(65px,9.2vw,154px)}.f-site.lang-zh .f-project-copy h3{letter-spacing:-.05em}.f-site.lang-zh .f-process>h2{font-size:10.3vw}
@media(max-width:1100px){.f-site .f-header{grid-template-columns:1fr auto}.f-site .f-header>nav{display:none}.f-site .f-menu-button{display:block;background:none!important;padding:8px 0!important;font-size:.875rem!important}.f-site .f-header-actions{gap:20px}.f-site .f-hero{gap:5vw}.f-site .f-hero h1{font-size:9vw}.f-site .f-hero-aside p{font-size:20px}.f-site .f-project-copy h3{font-size:35px}.f-journal-record{gap:26px;grid-template-columns:.4fr 1.8fr .9fr}.f-case-visual{height:530px}.f-site .f-project-image{height:390px}.f-site .f-hero .f-feature-news strong{font-size:.875rem}}
@media(max-width:650px){html{scroll-padding-top:80px}.f-site{--f-pad:16px}.f-site .f-header{inset:13px 16px auto;gap:12px}.f-site .f-logo{width:78px}.f-site .f-header-actions{gap:14px}.f-site .f-header-actions>button[data-sound]{display:none}.f-site .f-header-actions .f-button{font-size:.75rem;gap:6px;min-height:38px;padding:6px 8px}.f-site .f-header-actions .f-menu-button{font-size:.75rem!important}.f-language{font-size:.75rem;min-height:40px}.f-site .f-header-actions .f-button>.f-btn-icon{display:none}.f-site .f-hero{padding:98px 16px 55px;gap:28px}.f-site .f-hero h1{font-size:11.6vw;line-height:1;letter-spacing:-.065em;margin:0}.f-site .f-hero h1>span{transform:translateX(calc(var(--hero-p,0)*(var(--line)*3px - 4px)))}.f-site .f-hero-aside{gap:22px;margin-top:22px}.f-site .f-identity{font-size:12px}.f-site .f-hero-aside p{font-size:1.125rem;line-height:1.4}.f-site .f-feature{height:470px;min-height:0;margin-top:20px}.f-site .f-feature-news{max-width:345px;padding:14px}.f-site .f-feature-news strong{font-size:.875rem;line-height:1.2}.f-site .f-feature-news small{font-size:12px;line-height:1.4;margin-top:9px}.f-site .f-feature-news>a{grid-template-columns:50px 1fr;gap:12px}.f-site .f-news-mark{height:60px;font-size:40px}.f-site .f-studio>div>h2{font-size:31px;line-height:1.16}.f-site .f-studio-credit{font-size:1rem}.f-site .f-record-selector{font-size:.875rem}.f-site .f-studio{padding:60px 16px}.f-site .f-gap .scene-sticky{min-height:720px}.f-site.motion-enabled .f-gap{height:190svh}.f-site .f-gap h2{line-height:1.15}.f-site .f-gap .scene-sticky>p{font-size:1rem;bottom:28px;left:16px;right:16px}.f-site .f-work{padding:70px 16px}.f-site .f-project-image{height:380px}.f-site .f-project-copy h3{font-size:42px}.f-site .f-project-copy strong{font-size:20px}.f-site .f-journal-heading{font-size:.75rem}.f-site .f-journal-slides h2{font-size:34px;line-height:1.18;letter-spacing:-.04em}.f-site .f-services,.f-site .f-process,.f-site .f-journal,.f-site .f-faq{padding-inline:16px}.f-site .f-service-list h2{font-size:35px;line-height:1.2}.f-site .f-process h3{font-size:34px}.f-site .f-contact{padding:80px 16px 0}.f-site .f-contact h2{font-size:13vw;line-height:1.05}.f-contact-copy{gap:20px}.f-email{font-size:1rem}.f-site .f-contact-art{height:360px}.f-site .f-footer nav a{font-size:30px}.f-site .f-footer-grid{gap:38px 22px}.f-site .f-footer-grid>div>a,.f-site .f-footer-grid>div>p{font-size:.875rem}.f-site .f-footer-line{font-size:.75rem;gap:25px;padding-top:65px}.f-site .f-footer .f-liquid{height:250px}.f-site .f-liquid>span{font-size:.875rem;max-width:calc(100% - 32px)}.f-inner-hero{display:flex;flex-direction:column;gap:35px;padding:110px 16px 55px}.f-inner-hero>aside{gap:20px;width:100%}.f-inner-hero>aside>span{max-width:100%}.f-inner-hero h1{font-size:13.1vw;line-height:1.1;letter-spacing:-.055em}.f-inner-hero>div>p{font-size:1.125rem;line-height:1.5;margin-top:28px}.f-case-scene .scene-sticky,.motion-enabled .f-case-scene .scene-sticky{min-height:720px;padding:90px 16px 65px}.motion-enabled .f-case-scene{height:145svh}.f-case-brand{top:70px;font-size:24vw}.f-case-visual{width:100%;height:520px}.f-case-visual figcaption{font-size:.75rem;left:12px;bottom:12px}.f-case-body{display:block;padding:70px 16px}.f-case-body>aside{position:relative;top:auto;max-width:100%;margin-bottom:55px}.f-case-body dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:0}.f-case-body dl>div{padding:20px 0}.f-case-body article{margin-bottom:55px}.f-case-body article h2{font-size:34px;line-height:1.15}.f-case-body article p{font-size:1.0625rem;line-height:1.7}.f-outcome{font-size:39px}.f-case-actions{gap:24px}.f-next-project{display:block;padding:50px 16px}.f-next-project>a{display:block;font-size:55px;margin-top:25px}.f-next-project>a>span{font-size:1rem}.f-journal-index-hero h1{font-size:19vw;line-height:1.06}.f-journal-index-hero>aside>p{font-size:1rem;max-width:100%}.f-journal-archive{padding:0 16px 70px}.f-journal-record{display:flex;flex-direction:column;gap:22px;padding:40px 0 45px}.f-journal-record h2{font-size:31px;line-height:1.2}.f-journal-record>div>p{font-size:1rem;line-height:1.6;margin:22px 0}.f-journal-record>aside{gap:12px}.f-journal-record>aside>span{font-size:12px}.f-backfill{display:block;padding-top:35px}.f-backfill>p{margin-top:25px}.f-article-hero h1{font-size:10vw;line-height:1.14;letter-spacing:-.04em}.f-article-meta{grid-template-columns:1fr;gap:24px;margin-top:30px}.f-article-meta>strong{grid-column:auto}.f-article-reading{display:block;padding:0 16px 70px}.f-article-reading>aside{position:relative;top:auto;max-width:100%;margin-bottom:40px}.f-article-reading nav{gap:12px;margin-top:20px}.f-article-reading nav a{font-size:.875rem}.f-evidence{padding:25px 0 25px 20px;margin-bottom:35px}.f-evidence p{font-size:1rem}.f-article-body>section{padding:35px 0 40px;scroll-margin-top:85px}.f-article-body>section h2{font-size:29px}.f-article-body>section p{font-size:1.0625rem;line-height:1.85;letter-spacing:0}.f-site.lang-zh .f-hero h1{font-size:12.8vw;line-height:1.15}.f-site.lang-zh .f-inner-hero h1{font-size:12.5vw;line-height:1.2}.f-site.lang-zh .f-article-hero h1{font-size:8.5vw;line-height:1.23}.f-site.lang-zh .f-journal-index-hero h1{font-size:17vw;line-height:1.2}.f-site.lang-zh .f-header-actions .f-button{font-size:12px}.f-site.lang-zh .f-hero-aside p{font-size:1.125rem}.f-site.lang-zh .f-journal-record h2{font-size:28px;line-height:1.3}}
@media(max-width:360px){.f-site .f-header-actions{gap:10px}.f-site .f-logo{width:69px}.f-site .f-feature-news{padding:11px}.f-site .f-feature-news strong{font-size:.8125rem}.f-site .f-feature-news>a{grid-template-columns:42px 1fr;gap:10px}.f-site .f-news-mark{font-size:34px}.f-site .f-service-list h2{font-size:30px}.f-site .f-journal-slides h2{font-size:30px}.f-site .f-footer-grid{display:block}.f-site .f-footer-grid>div{margin-bottom:35px}.f-site .f-case-body dl{display:block}}
.f-site.large-text .f-header{position:relative;inset:auto;display:flex;padding:25px 16px;flex-wrap:wrap}.f-site.large-text .f-header>nav{display:flex;flex-wrap:wrap}.f-site.large-text .f-header::before{display:none}.f-site.large-text .f-hero,.f-site.large-text .f-inner-hero{padding-top:40px}.f-site.large-text .f-hero{display:block}.f-site.large-text .f-hero-aside{margin-bottom:35px;max-width:100%}.f-site.large-text .f-hero-main{display:block}.f-site.large-text .f-hero h1{font-size:clamp(40px,9vw,110px);line-height:1.05;margin:35px 0}.f-site.large-text .f-hero h1>span{white-space:normal;transform:none}.f-site.large-text .f-inner-hero,.f-site.large-text .f-case-body,.f-site.large-text .f-next-project,.f-site.large-text .f-article-reading,.f-site.large-text .f-journal-record,.f-site.large-text .f-backfill{display:block}.f-site.large-text .f-inner-hero>aside,.f-site.large-text .f-case-body>aside,.f-site.large-text .f-article-reading>aside{position:relative;top:auto;max-width:100%;margin-bottom:40px}.f-site.large-text .f-inner-hero h1{font-size:clamp(40px,6.5vw,110px)}.f-site.large-text .f-article-hero h1{font-size:clamp(33px,4.8vw,70px)}.f-site.large-text .f-journal-record>aside{margin-top:30px}.f-site.large-text .f-case-scene{height:auto!important}.f-site.large-text .f-case-scene .scene-sticky{position:relative;height:auto;min-height:650px}.f-site.large-text .f-case-visual{width:100%;height:530px;transform:none}.f-site.large-text .f-case-brand{display:none}.f-site.large-text .f-article-meta{display:block}.f-site.large-text .f-article-meta>div{margin-bottom:25px}.f-site.large-text .f-optical-particles{display:none}.f-site.large-text [data-f-type]{transform:none!important}.f-site.large-text .f-contact h2{font-size:clamp(48px,9vw,105px);line-height:1.08}.f-site.large-text .f-feature-news{max-width:100%}.f-site.large-text .f-feature-news>a{grid-template-columns:45px 1fr}.f-site.large-text .f-feature-news strong{font-size:.75rem;line-height:1.25}.f-site.large-text .f-next-project>a{margin-top:30px}.f-site.large-text .f-inner-hero>div>p{max-width:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.f-site .f-hero h1>span,[data-f-type],.f-site .f-case-body article h2,.f-site .f-journal-record h2{transform:none!important}.f-site .f-case-scene{height:auto!important}.f-site .f-case-scene .scene-sticky{position:relative!important;height:auto!important;min-height:650px!important}.f-case-visual,.f-case-visual img,.f-case-brand{transform:none!important}.f-optical-particles{display:none}.f-reading-progress{display:none}}

.f-site .f-hero-aside>.f-identity{margin-top:0;display:block}.f-site .f-hero-aside>span:last-child{margin-top:auto}
/* Reference-led refinement: tighter editorial scale, moving grain and halftone light. */
@font-face{font-family:FDisplay;src:url('/assets/barlow-condensed-latin.woff2') format('woff2');font-style:normal;font-weight:600 800;font-display:swap}
.f-site{--f-silver:#cbd1d6;--f-black:#14181d;--f-white:#f0f3f6}
.f-site .f-grain{opacity:.26;mix-blend-mode:overlay;z-index:95}
.f-site .f-hero{padding-top:132px;padding-bottom:70px;gap:6.9vw}
.f-site .f-hero h1{font-size:clamp(70px,9.55vw,166px);line-height:.815;letter-spacing:-.052em;margin-bottom:78px}
.f-site .f-hero-aside{max-width:315px;gap:28px}
.f-site .f-hero-aside>p{order:0;font-size:23px;line-height:1.13;letter-spacing:-.038em}
.f-site .f-hero-aside>.f-button{order:1;align-self:flex-start}
.f-site .f-hero-aside>.f-identity{order:2;margin-top:auto;margin-bottom:0;color:#505b67;line-height:1.6}
.f-site .f-hero-aside>span:last-child{order:3;margin-top:0;font-size:.875rem}
.f-site .f-vertical{opacity:.052;top:70px;left:-320px;width:1020px}
.f-site .f-feature{aspect-ratio:1.75;min-height:430px}
.f-site .f-feature-news{padding:26px;max-width:345px;gap:13px}
.f-site .f-feature-news>a{background:#eef1f1e8;backdrop-filter:none;grid-template-columns:74px 1fr;gap:15px;padding:11px;transition:background .25s,transform .35s cubic-bezier(.2,.7,.2,1)}
.f-site .f-feature-news>a:nth-child(2){background:#b5bbc3a6}
.f-site .f-news-mark{height:74px;font-size:49px}
.f-site .f-feature-news strong{font-size:.875rem;line-height:1.16;letter-spacing:-.025em}
.f-site .f-feature-news small{font-size:11px;line-height:1.3;margin-top:13px}
.f-site .f-feature-news>a:hover{background:#b6d3ff;transform:translateX(5px)}
.f-site .f-studio{padding-top:75px;padding-bottom:80px;gap:6.9vw}
.f-site .f-studio>div>h2{font-size:clamp(38px,3.68vw,63px);line-height:1.03;letter-spacing:-.043em}
.f-site .f-studio-credit{max-width:610px;font-size:.9375rem}
.f-site .f-reveal-word{color:var(--word-color,var(--f-white));transition:color .13s linear}
.f-site .f-practice-strip{padding-top:40px;gap:6.9vw}
.f-site.motion-enabled .f-gap{height:210svh}
.f-site.motion-enabled .f-gap .scene-sticky{min-height:700px;height:100svh}
.f-site.motion-enabled .f-gap h2{font-family:FDisplay,Arial,sans-serif;font-weight:700;font-size:clamp(78px,9.45vw,170px);line-height:.94;top:44%;left:5.5%;right:5.5%;justify-content:center;gap:calc(13vw*(1 - var(--gap-join,0)));opacity:1;letter-spacing:-.025em}
.f-site.motion-enabled .f-gap h2>span:first-child{transform:translateX(calc(-3vw*(1 - var(--gap-join,0))))}
.f-site.motion-enabled .f-gap h2>span:last-child{transform:translateX(calc(3vw*(1 - var(--gap-join,0))))}
.f-site.motion-enabled .f-gap-images{width:calc(14% + var(--gap-lens,0)*4%);height:calc(27% + var(--gap-lens,0)*7%);top:50%;left:50%;transform:translate(-50%,-50%);border-radius:2px;z-index:2}
.f-site.motion-enabled .f-gap-art{opacity:1;transition:clip-path .35s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1)}
.f-site.motion-enabled .f-gap-art-1,.f-site.motion-enabled .f-gap-art-2{clip-path:inset(100% 0 0 0);transform:scale(1.06)}
.f-site.motion-enabled .f-gap[data-phase="1"] .f-gap-art-1,.f-site.motion-enabled .f-gap[data-phase="2"] .f-gap-art-1,.f-site.motion-enabled .f-gap[data-phase="2"] .f-gap-art-2{clip-path:inset(0);transform:scale(1)}
.f-site .f-gap-art figcaption{font-size:10px;line-height:1.25;padding:4px;bottom:7px;right:7px;left:7px;text-align:center}
.f-site .f-gap .scene-sticky>p{bottom:65px;left:50%;right:auto;transform:translateX(-50%);max-width:390px;width:80%;text-align:center;background:none;padding:0;font-size:.9375rem;line-height:1.3}
.f-site .f-optical-particles{opacity:.3;z-index:1}
.f-site .f-work{gap:6.9vw;padding-top:90px;padding-bottom:100px}
.f-site .f-section-rail h2{font-size:43px;line-height:1.03;letter-spacing:-.045em}
.f-site .f-section-rail>p{font-size:.9375rem;max-width:230px}
.f-site .f-work-list article{grid-template-columns:1.38fr 1fr;gap:25px;margin-bottom:60px}
.f-site .f-project-image{height:340px;position:relative}
.f-site.motion-enabled .f-project-image{clip-path:inset(calc((1 - var(--q,0))*8%) 0 0);transform:scale(1)}
.f-site.motion-enabled .f-project-image>img{transform:scale(calc(1.14 - var(--q,0)*.1)) translateY(calc((var(--q,0) - .5)*-12px));transition:filter .3s}
.f-site .f-project-copy{gap:17px}
.f-site .f-project-copy h3{font-size:28px;line-height:1.07;letter-spacing:-.04em}
.f-site .f-project-copy>p{font-size:.9375rem;line-height:1.38}
.f-site .f-project-copy strong{font-size:22px;line-height:1.15;margin-top:18px}
.f-site .f-project-copy small{font-size:.8125rem;line-height:1.5}
.f-site .f-project-copy .text-link{font-size:.9375rem}
.f-site .f-journal-slides{max-width:900px;margin:70px auto}
.f-site .f-journal-slides h2{font-size:clamp(40px,4.1vw,67px);line-height:1.06;letter-spacing:-.043em}
.f-site.f-enhanced .f-journal-slides .is-selected{animation:f-note-arrive .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes f-note-arrive{from{transform:translateY(24px);clip-path:inset(0 0 100%)}to{transform:none;clip-path:inset(0)}}
.f-site .f-services{padding-top:90px;padding-bottom:90px;min-height:690px}
.f-site .f-service-list h2{font-size:clamp(37px,4.25vw,73px);line-height:1.01;letter-spacing:-.045em;color:#97a0ac}
.f-site .f-service-list>div{margin-bottom:10px}
.f-site .f-service-art{width:155px;height:195px;right:8%;bottom:80px;box-shadow:none;transform:translateY(calc(var(--service-y,0)*1px)) rotate(calc(var(--service-r,0)*1deg));transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.f-site .f-process>h2{font-family:FDisplay,Arial,sans-serif;font-weight:700;font-size:clamp(85px,13.4vw,232px);line-height:.94;letter-spacing:-.022em;margin-bottom:85px}
.f-site .f-process article{max-width:920px;grid-template-columns:1fr 1.2fr;gap:55px}
.f-site .f-process h3{font-size:30px;line-height:1.08;letter-spacing:-.04em}
.f-site .f-process-art{height:360px;clip-path:inset(calc((1 - var(--q,0))*6%) 0 0)}
.f-site .f-faq>div>h2{font-size:clamp(40px,3.68vw,63px);line-height:1.03;letter-spacing:-.045em;max-width:620px}
.f-site .f-faq details[open] p{animation:f-answer .4s ease-out}
@keyframes f-answer{from{transform:translateY(-8px);opacity:.6}to{transform:none;opacity:1}}
.f-site .f-contact h2{font-size:clamp(70px,10vw,169px);line-height:.865;letter-spacing:-.048em;margin-top:60px}
.f-site .f-contact-art{height:580px;margin-top:90px}
.f-site .f-contact-art img{transform:scale(calc(1.12 - var(--contact-p,0)*.09)) translateY(calc(var(--contact-p,0)*-20px))}
.f-site .f-footer{padding-top:65px}
.f-site .f-footer-grid{grid-template-columns:1.8fr 1fr .9fr;gap:7vw;max-width:none}
.f-site .f-footer-grid>div{width:100%}
.f-site .f-footer nav{width:100%;gap:0}
.f-site .f-footer nav a{font-size:clamp(31px,3.4vw,58px);letter-spacing:-.04em;line-height:1.1;padding:14px 0;border-bottom:1px solid #7f899230;transition:color .2s,padding-left .35s}
.f-site .f-footer nav a:hover{padding-left:10px;color:var(--f-ice)}
.f-site .f-footer-line{padding-top:140px;padding-bottom:30px}
.f-site .f-footer .f-liquid{height:400px;background:#14181d}
.f-disrupt{position:absolute;left:50%;top:18%;transform:translateX(-50%);background:#e8ebed;color:#14181d;font-size:.8125rem;line-height:1.25;padding:9px 13px;border:0;z-index:4;cursor:pointer;opacity:0;transition:opacity .2s;touch-action:pan-y}
.f-liquid:hover .f-disrupt,.f-disrupt:focus-visible{opacity:1}
.f-site .f-about[open] .f-about-body{animation:f-about-arrive .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes f-about-arrive{from{transform:translateY(35px);opacity:.3}to{transform:none;opacity:1}}
@media(min-width:651px){.f-site .f-hero h1>span{overflow:visible}.f-site .f-feature-art img{animation:feature-pan 18s ease-in-out infinite alternate;animation-play-state:paused}.f-site .f-feature.is-active .f-feature-art img{animation-play-state:running}}
@media(max-width:1050px) and (min-width:651px){.f-site .f-hero h1{font-size:9.25vw}.f-site .f-hero-aside>p{font-size:20px}.f-site .f-feature{min-height:350px}.f-site .f-work-list article{grid-template-columns:1.2fr 1fr;gap:18px}.f-site .f-project-image{height:300px}.f-site .f-header nav{gap:16px}.f-site .f-footer nav a{font-size:36px}}
@media(max-width:650px){
 .f-site .f-hero{padding:94px 16px 48px;gap:33px}.f-site .f-hero h1{font-size:12.6vw;line-height:.87;letter-spacing:-.047em;margin-bottom:0}
 .f-site .f-hero-aside{max-width:100%;gap:25px;margin-top:6px}.f-site .f-hero-aside>p{font-size:20px;line-height:1.17;max-width:335px}.f-site .f-hero-aside>.f-identity{font-size:11px;order:2;display:block;margin-top:8px}.f-site .f-hero-aside>span:last-child{display:none}
 .f-site .f-vertical{left:auto;right:-360px;top:160px;width:1000px;opacity:.055}.f-site .f-feature{height:440px;min-height:0;aspect-ratio:auto;margin-top:0}
 .f-site .f-feature-news{padding:14px;max-width:315px;gap:12px}.f-site .f-feature-news>a{grid-template-columns:59px 1fr;gap:12px;padding:10px}.f-site .f-news-mark{height:59px;font-size:42px}.f-site .f-feature-news strong{font-size:.8125rem}
 .f-site .f-studio{padding:55px 16px 65px;gap:45px}.f-site .f-studio>div>h2{font-size:31px;line-height:1.07;letter-spacing:-.04em}.f-site .f-practice-strip{padding-top:32px}
 .f-site.motion-enabled .f-gap{height:180svh}.f-site.motion-enabled .f-gap .scene-sticky{min-height:650px}.f-site.motion-enabled .f-gap h2{font-size:16.2vw;line-height:.94;top:34%;left:16px;right:16px;gap:calc(145px*(1 - var(--gap-join,0)*.65));text-align:center}
 .f-site.motion-enabled .f-gap h2>span:first-child{transform:translateY(calc((1 - var(--gap-join,0))*-20px))}.f-site.motion-enabled .f-gap h2>span:last-child{transform:translateY(calc((1 - var(--gap-join,0))*20px))}
 .f-site.motion-enabled .f-gap-images{width:calc(34% + var(--gap-lens,0)*11%);height:calc(27% + var(--gap-lens,0)*6%);top:46%}
 .f-site .f-gap .scene-sticky>p{bottom:42px;left:50%;right:auto;max-width:320px;width:calc(100% - 40px);font-size:.875rem;line-height:1.35}
 .f-site .f-work{padding:65px 16px;gap:45px}.f-site .f-work-list article{grid-template-columns:1fr;gap:27px;margin-bottom:60px}.f-site .f-project-image{height:320px}.f-site .f-project-copy h3{font-size:35px}.f-site .f-project-copy>p{font-size:1rem}.f-site .f-project-copy strong{font-size:22px;margin-top:5px}
 .f-site .f-journal-slides h2{font-size:34px;line-height:1.13}.f-site .f-service-list h2{font-size:36px;line-height:1.12}.f-site .f-services{min-height:680px}.f-site .f-service-art{width:100px;height:132px;bottom:50px;right:25px}
 .f-site .f-process>h2{font-size:15.1vw;line-height:1.02;letter-spacing:-.015em;margin-bottom:50px}.f-site .f-process article{max-width:100%;display:flex;flex-direction:column;gap:25px}.f-site .f-process-art{width:100%;height:310px}
 .f-site .f-faq>div>h2{font-size:36px;line-height:1.07}.f-site .f-contact h2{font-size:13.6vw;line-height:.94;letter-spacing:-.04em;margin-top:45px}.f-site .f-contact-art{height:400px;margin-top:65px}
 .f-site .f-footer-grid{grid-template-columns:1.2fr 1fr;gap:40px 25px}.f-site .f-footer nav a{font-size:33px;padding:11px 0}.f-site .f-footer-line{padding-top:75px}.f-site .f-footer .f-liquid{height:300px}.f-disrupt{opacity:1;top:16%;font-size:.75rem}
 .f-site.lang-zh .f-hero h1{font-size:13vw;line-height:1.14;letter-spacing:-.025em}.f-site.lang-zh .f-gap h2{font-family:Inter,Arial,sans-serif;font-size:12.1vw;letter-spacing:-.02em;line-height:1.16}
}
.f-site.lang-zh .f-hero h1{letter-spacing:-.025em}.f-site.lang-zh .f-process>h2{font-family:Inter,Arial,sans-serif;letter-spacing:-.04em;font-size:10.4vw}
.f-site.large-text .f-hero h1{font-size:clamp(42px,9vw,115px);line-height:1.05;letter-spacing:-.04em}.f-site.large-text .f-hero-aside>p{font-size:1rem}.f-site.large-text .f-project-copy h3{font-size:1.5rem}.f-site.large-text .f-service-list h2{font-size:1.5rem}.f-site.large-text .f-work-list article{display:block}.f-site.large-text .f-project-copy{margin-top:30px}.f-site.large-text .f-process>h2{font-size:11vw;white-space:normal;transform:none}.f-site.large-text .f-footer nav a{font-size:1.4rem}.f-site.large-text .f-grain{display:none}.f-site.large-text .f-contact h2{line-height:1.05}
@media(prefers-reduced-motion:reduce){.f-site .f-reveal-word{color:var(--f-white)!important;transition:none}.f-site .f-journal-slides .is-selected,.f-site .f-faq details p,.f-site .f-about[open] .f-about-body{animation:none!important}.f-site .f-feature-art img{animation:none!important}.f-site .f-project-image,.f-site .f-process-art{clip-path:none!important}.f-site .f-contact-art img,.f-site .f-service-art{transform:none!important}.f-disrupt{display:none}}
@media(min-width:651px){
 .f-site{--f-pad:26px}
 .f-site .f-header{grid-template-columns:1fr 2.1fr;gap:26px;align-items:start}
 .f-site .f-header-actions{position:absolute;right:0;top:0}
 .f-site .f-header nav{min-height:40px;align-items:center}
 .f-site .f-header nav a,.f-site .f-header nav button{min-height:32px}
 .f-site .f-hero,.f-site .f-studio,.f-site .f-practice-strip,.f-site .f-work,.f-site .f-services,.f-site .f-faq{grid-template-columns:1fr 2.1fr;column-gap:26px}
 .f-site .f-hero h1{margin-bottom:70px}
 .f-site .f-feature{min-height:440px}
 .f-site .f-hero-aside{min-height:900px}
}
@media(max-width:1050px) and (min-width:651px){.f-site .f-header-actions{gap:10px}.f-site .f-header nav{gap:12px}.f-site .f-header-actions>button[data-sound]{display:none}.f-site .f-hero-aside{min-height:750px}}
.f-site.large-text .f-header-actions{position:relative;right:auto;top:auto}.f-site.large-text .f-hero-aside{min-height:0}
/* Final correction from the user's Journey and fine-noise review. */
.f-site .f-grain{opacity:.26}
.f-site .f-gap-art figcaption{top:7px;bottom:auto}
.f-site .f-process{padding-top:50px;padding-bottom:110px}
.f-site .f-process>h2{font-family:Inter,Arial,sans-serif;font-size:12.45vw;font-weight:700;line-height:.87;letter-spacing:-.06em;transform:none;margin:0 0 85px;white-space:nowrap}
.f-site .f-process article{max-width:none;display:grid;grid-template-columns:.9fr 3.5fr 4.6fr;gap:26px;margin:0;padding:0;border-top:1px solid #7b848e25;align-items:start}
.f-process-step{display:block;padding-top:31px;font:12px/1.4 ui-monospace,monospace;letter-spacing:.015em;color:#d4dae2}
.f-site .f-process-copy{padding-top:30px;padding-right:35px}
.f-site .f-process h3{font-size:24px;line-height:1.1;letter-spacing:-.033em;max-width:350px;margin:0 0 20px}
.f-site .f-process article p{font-size:1.0625rem;line-height:1.32;letter-spacing:-.015em;max-width:350px;margin-bottom:22px;color:#b9c0cb}
.f-site .f-process-copy>.text-link{font-size:.8125rem;line-height:1.4;color:#d4dce7}
.f-site .f-process-art{width:100%;height:auto;aspect-ratio:16/9;transform:none;clip-path:none;position:relative}
.f-site .f-process-art img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(calc(1.1 - var(--q,0)*.075)) translateY(calc((var(--q,0) - .5)*-8px))}
.f-site .f-process-art figcaption{bottom:10px;right:10px;font-size:11px;padding:4px 7px}
@media(min-width:651px){
 .f-site .f-work{grid-template-columns:.52fr 2.48fr;column-gap:40px}
 .f-site .f-section-rail h2{font-size:20px;line-height:1.2;letter-spacing:-.025em;margin:20px 0}
 .f-site .f-section-rail>p{font-size:.875rem;line-height:1.4;max-width:170px}
 .f-site .f-section-rail>.text-link{font-size:.875rem;line-height:1.4;max-width:160px;display:inline-block}
 .f-site .f-work-list article{grid-template-columns:1.48fr 1fr;gap:26px;margin-bottom:45px}
 .f-site .f-project-image{height:auto;aspect-ratio:1.46}
 .f-site .f-project-image>img{object-fit:contain;object-position:50% 0;background:#f1f3f4;transform:scale(1.025)}
 .f-site .f-project-copy h3{font-size:25px}
}
@media(max-width:1050px) and (min-width:651px){.f-site .f-process-copy{padding-right:15px}.f-site .f-process h3{font-size:21px}.f-site .f-process article p{font-size:.9375rem}.f-site .f-process-art{aspect-ratio:1.55}.f-site .f-work{column-gap:26px;grid-template-columns:.6fr 2.4fr}}
@media(max-width:650px){
 .f-site .f-process{padding-top:30px;padding-bottom:70px}
 .f-site .f-process>h2{font-size:11.9vw;line-height:.94;letter-spacing:-.05em;margin-bottom:40px;white-space:nowrap}
 .f-site .f-process article{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 36px}
 .f-process-step{padding-top:22px;font-size:11px}
 .f-site .f-process-copy{padding:22px 0 30px}
 .f-site .f-process h3{font-size:25px;margin-bottom:18px;max-width:100%}
 .f-site .f-process article p{font-size:1rem;line-height:1.45;max-width:100%}
 .f-site .f-process-art{height:auto;aspect-ratio:16/10}
 .f-site.lang-zh .f-process>h2{font-size:10.5vw;line-height:1.14;letter-spacing:-.03em}
}
.f-site.large-text .f-process article{display:block}.f-site.large-text .f-process-step{font-size:.65rem}.f-site.large-text .f-process-copy{padding-right:0;padding-bottom:35px}.f-site.large-text .f-process>h2{white-space:normal;font-size:11.5vw;line-height:1.1}.f-site.large-text .f-process h3{font-size:1.2rem}.f-site.large-text .f-process article p{font-size:1rem;max-width:none}
@media(prefers-reduced-motion:reduce){.f-site .f-process-art img{transform:none!important}}
