@charset "UTF-8";
:root{--ink:#101214;--paper:#f2f1ed;--white:#faf9f6;--muted:#acafaf;--accent:#fa5c3c;--focus:#ff9b82;--line:#c9c9c3;--dark-line:#37393b;--gutter:clamp(22px,5.5vw,88px);--max:1440px;color-scheme:dark;font-family:Arial,Helvetica,sans-serif;font-synthesis:none;font-size:100%}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--ink);color:var(--white)}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}img{max-width:100%;display:block}figure,p,h1,h2,h3{margin:0}ul,ol{margin:0;padding:0}::selection{background:var(--accent);color:var(--ink)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--focus);outline-offset:6px}section:focus-visible{outline-offset:-5px}.skip-link{position:fixed;left:16px;top:12px;z-index:20;padding:14px;background:var(--paper);color:var(--ink);transform:translateY(-150%);opacity:0;pointer-events:none}.skip-link:focus{transform:translateY(0);opacity:1;pointer-events:auto}
.site-header{min-height:98px;padding:22px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--dark-line);position:relative;z-index:5;background:var(--ink)}.wordmark{display:inline-flex;flex-direction:column;align-items:flex-start;font-size:1.1875rem;line-height:1.03;font-weight:800;letter-spacing:-1px}.wordmark>span:first-child{position:relative;padding-right:11px}.brand-square{height:6px;width:6px;background:var(--accent);display:inline-block;position:absolute;right:0;top:3px}.wordmark-sub{font-size:0.75rem;letter-spacing:5.5px;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:36px;font-size:0.875rem}.site-header nav>a:not(.nav-contact){padding:12px 0}.site-header nav a:hover,.text-link:hover{color:var(--accent)}.nav-contact{border:1px solid #626466;padding:13px 19px}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;min-height:750px;max-width:1800px;margin:auto;overflow:hidden}.hero-copy{position:relative;z-index:2;padding:90px var(--gutter) 126px;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font-size:0.75rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:600;line-height:1.6;display:flex;gap:22px;align-items:baseline}.eyebrow.light{color:#b7bbbd}.hero .eyebrow{margin-bottom:35px}.hero h1{font-size:clamp(4rem,7.9vw,7.625rem);line-height:.99;font-weight:500;letter-spacing:-.065em;max-width:970px}.hero h1 em,h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}.hero-description{font-size:1.125rem;line-height:1.6;color:#c4c7c7;margin-top:30px;max-width:540px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;padding:17px 23px;border:1px solid transparent;min-height:54px;font-weight:600;font-size:0.875rem;line-height:1.3;transition:background .2s,color .2s}.primary{background:var(--accent);color:#111214}.primary:hover{background:#ff795e}.text-link{font-size:0.875rem;line-height:1.5;border-bottom:1px solid #777;padding:8px 0;transition:color .2s}.hero-art{position:absolute;z-index:-1;right:-7%;top:0;width:78%;height:100%;margin:0}.hero-art:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,var(--ink) 0%,rgba(16,18,20,.65) 16%,rgba(16,18,20,0) 50%),linear-gradient(0deg,var(--ink),transparent 25%)}.hero-art img{height:100%;width:100%;object-fit:cover;object-position:60% center;opacity:.88;animation:concept-enter 1.2s ease-out both}.hero-art figcaption{position:absolute;bottom:110px;right:calc(var(--gutter) + 7%);z-index:1;color:#c1c6c7;font-size:0.75rem;line-height:1.6;max-width:210px;text-align:right}.caption-line{display:block;width:32px;height:1px;background:var(--accent);margin:0 0 10px auto}.hero-footer{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--dark-line);padding:23px 0;font-size:0.75rem;letter-spacing:.7px;color:#b0b5b6}.hero-footer a{letter-spacing:0}.hero-footer a:hover{text-decoration:underline}
.section{padding:100px var(--gutter)}.light-section{--focus:#a63620;background:var(--paper);color:var(--ink);color-scheme:light}.section-intro{display:grid;grid-template-columns:1fr 2fr;gap:36px;margin-bottom:58px}.section-number{font-weight:400;color:#60696b}.section h2{font-size:clamp(2.625rem,4.25vw,4.125rem);font-weight:400;line-height:1.06;letter-spacing:-.055em}.intro-copy{max-width:600px;line-height:1.7;color:#555b5d;font-size:1rem;margin-top:23px}.service-row{border-top:1px solid var(--line);padding:36px 0 39px;display:grid;grid-template-columns:1fr 1.5fr .5fr;gap:36px}.service-index{font-size:0.875rem;color:#656b6d;line-height:1.6}.service-body h3{font-size:1.9375rem;line-height:1.16;letter-spacing:-.035em;font-weight:400;margin-bottom:14px}.service-body>p{font-size:1rem;line-height:1.65;color:#555b5d;max-width:590px}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px}.tags li{font-size:0.75rem;color:#60686a;line-height:1.5}.tags li:not(:last-child):after{content:"/";margin-left:18px;color:#949898}.service-note{font-family:Georgia,'Times New Roman',serif;font-style:italic;line-height:1.4;text-align:right;font-size:1.1875rem;color:#62696b}.section-footnote{font-size:0.8125rem;color:#686f70;border-top:1px solid var(--line);padding-top:23px;line-height:1.6}
.process .intro-copy{color:#b0b5b7}.process-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:72px}.process-list li{position:relative;border-top:1px solid #676c6e;padding:25px 0 0;display:flex;flex-direction:column}.step-number{font-family:Georgia,'Times New Roman',serif;font-size:1.5625rem;color:var(--accent);display:block;margin-bottom:42px}.process-list h3{font-size:1.5rem;font-weight:400;letter-spacing:-.03em;margin-bottom:18px}.process-list p{font-size:1rem;line-height:1.65;color:#aeb4b6;max-width:280px}.step-output{font-size:0.75rem;text-transform:uppercase;letter-spacing:1px;color:#80888a;margin-top:auto;padding-top:34px;line-height:1.6}
.studio{display:grid;grid-template-columns:1fr 1fr;gap:10%}.studio-statement .eyebrow{margin-bottom:43px}.studio-statement h2{font-size:clamp(3.125rem,5.15vw,5rem)}.studio-statement h2 em{color:#bf432d}.studio-date{display:block;margin-top:44px;font-size:0.75rem;letter-spacing:1.5px}.studio-copy{padding-top:60px}.studio-copy .large-copy{font-size:1.5625rem;line-height:1.45;letter-spacing:-.035em;color:var(--ink)}.studio-copy>p{font-size:1rem;line-height:1.75;color:#5c6264;margin-bottom:23px}.studio-facts{margin:38px 0 0}.studio-facts>div{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.8fr;gap:20px;padding:19px 0;font-size:0.875rem;line-height:1.5}.studio-facts dt{color:#60696b}.studio-facts dd{margin:0}.studio-facts dd span{font-size:0.75rem;color:#687072}
.contact{background:#1b2022;display:grid;grid-template-columns:1fr 1fr;gap:10%;border-bottom:1px solid #3c4345}.contact-copy h2{font-size:clamp(3.125rem,5.15vw,5rem);margin:38px 0 30px}.contact-copy>p:not(.eyebrow){line-height:1.7;font-size:1.0625rem;color:#b7bfc1;max-width:350px}.contact-note{border-left:2px solid var(--accent);padding:0 0 0 20px;max-width:385px;margin-top:58px;line-height:1.65}.contact-note strong{font-size:0.875rem;font-weight:600}.contact-note p{font-size:0.875rem;color:#aeb8bb;margin-top:10px}.contact-panel{--focus:#a63620;background:var(--paper);padding:34px;color:var(--ink);color-scheme:light;align-self:start}.contact-kicker{font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:27px}.contact-panel h3{font-size:clamp(1.875rem,3vw,2.75rem);font-weight:400;letter-spacing:-.045em;line-height:1.1;margin-bottom:23px}.contact-panel>p:not(.contact-kicker){font-size:1rem;line-height:1.65;color:#555b5d}.contact-email{display:block;font-size:clamp(1rem,1.8vw,1.375rem);line-height:1.5;text-decoration:underline;text-underline-offset:5px;margin:28px 0;overflow-wrap:anywhere}.contact-email:hover{color:#a63620}.email-button{width:100%}.contact-panel .email-note{font-size:.8125rem!important;margin-top:17px}.site-footer{padding:42px var(--gutter) 28px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:26px;padding-bottom:38px;border-bottom:1px solid var(--dark-line)}.footer-top>span{font-size:1.0625rem;color:#a9b0b2;font-family:Georgia,'Times New Roman',serif;font-style:italic}.footer-top>a:last-child{font-size:0.8125rem}.footer-top>a:last-child:hover{text-decoration:underline}.legal{display:flex;justify-content:space-between;gap:30px;padding-top:23px;color:#889294;font-size:0.75rem;line-height:1.7}.legal p:last-child{text-align:right}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.legal a{text-decoration:underline;text-underline-offset:3px}
@keyframes concept-enter{from{opacity:.3;transform:scale(1.025)}to{opacity:.88;transform:scale(1)}}
@media(min-width:1800px){.site-header,.section,.site-footer{padding-left:calc((100vw - 1440px)/2);padding-right:calc((100vw - 1440px)/2)}}
@media(max-width:1050px){.hero{min-height:740px}.hero-copy{padding-top:86px}.hero-art{width:92%;right:-21%}.hero h1{font-size:5.625rem}.hero-art figcaption{right:calc(var(--gutter) + 21%);bottom:98px}.service-row{grid-template-columns:.65fr 1.7fr;gap:30px}.service-note{display:none}.section-intro{grid-template-columns:.65fr 1.7fr}.process-list{gap:24px}.contact,.studio{gap:7%}.contact-panel{padding:28px}.site-header nav{gap:24px}}
@media(max-width:760px){html{scroll-padding-top:20px}.site-header{min-height:83px;padding-top:19px;padding-bottom:19px;flex-wrap:wrap;gap:0}.wordmark{font-size:1.0625rem}.wordmark-sub{font-size:0.75rem}.menu-toggle{display:flex;align-items:center;gap:16px;min-height:44px;padding:8px 0 8px 15px;font-size:0.875rem;background:transparent;color:var(--white);border:0}.menu-toggle span{font-size:1.5rem;font-weight:300}.site-header nav{display:none;width:100%;padding-top:23px;gap:0;flex-direction:column;align-items:stretch;font-size:1rem}.site-header nav.is-open{display:flex}.site-header nav>a:not(.nav-contact){padding:17px 0;border-top:1px solid var(--dark-line)}.nav-contact{align-self:flex-start;margin-top:11px;margin-bottom:6px;padding:13px 18px}.hero{min-height:815px}.hero-copy{padding:50px var(--gutter) 0}.hero .eyebrow{font-size:0.75rem;letter-spacing:1.2px;margin-bottom:24px}.hero h1{font-size:clamp(3.875rem,12.5vw,5.75rem);line-height:1.04;letter-spacing:-.06em}.hero-description{font-size:1rem;margin-top:22px;max-width:365px;line-height:1.65}.hero-actions{gap:22px;margin-top:24px;flex-wrap:wrap}.hero-actions .button{font-size:0.8125rem;padding:15px 18px}.hero-actions .text-link{font-size:0.8125rem}.hero-art{width:112%;height:51%;top:auto;bottom:55px;right:-9%}.hero-art:after{background:linear-gradient(180deg,var(--ink) 0%,rgba(16,18,20,.95) 30%,transparent 57%,transparent 68%,var(--ink) 100%),linear-gradient(90deg,var(--ink),transparent 20%)}.hero-art img{object-position:70% center;opacity:.88}.hero-art figcaption{bottom:14px;right:calc(var(--gutter) + 9%);font-size:0.75rem;max-width:210px}.hero-footer{font-size:0.75rem;letter-spacing:.2px;padding:19px 0;gap:12px}.hero-footer>span:nth-child(2){display:none}.section{padding-top:67px;padding-bottom:67px}.section-intro{grid-template-columns:1fr;gap:27px;margin-bottom:35px}.eyebrow{font-size:0.75rem;gap:18px;letter-spacing:1.4px}.section h2{font-size:2.75rem;line-height:1.08}.intro-copy{margin-top:22px;line-height:1.7}.service-row{grid-template-columns:1fr;gap:20px;padding:28px 0 34px}.service-index{font-size:0.75rem}.service-body h3{font-size:1.875rem;margin-bottom:13px}.service-body>p{font-size:1rem}.tags{gap:7px 12px;margin-top:19px}.tags li{font-size:0.75rem}.tags li:not(:last-child):after{margin-left:12px}.section-footnote{font-size:0.75rem;padding-top:23px}.process-list{grid-template-columns:1fr 1fr;gap:35px 25px;margin-top:43px}.step-number{font-size:1.375rem;margin-bottom:26px}.process-list h3{font-size:1.375rem;margin-bottom:14px}.process-list p{font-size:0.9375rem;line-height:1.65}.step-output{font-size:0.75rem;padding-top:24px}.studio{grid-template-columns:1fr;gap:35px}.studio-statement .eyebrow{margin-bottom:28px}.studio-statement h2{font-size:3.625rem}.studio-date{margin-top:30px}.studio-copy{padding-top:0}.studio-copy .large-copy{font-size:1.4375rem}.studio-facts{margin-top:31px}.contact{grid-template-columns:1fr;gap:37px}.contact-copy h2{font-size:3.625rem;margin:28px 0 24px}.contact-copy>p:not(.eyebrow){max-width:100%}.contact-note{max-width:100%;margin-top:29px}.contact-panel{padding:25px 22px}.contact-kicker{letter-spacing:1px;padding-bottom:22px}.site-footer{padding-top:35px}.footer-top{flex-wrap:wrap;gap:25px;padding-bottom:28px}.footer-top>span{display:none}.legal{flex-direction:column;gap:15px;padding-top:22px;font-size:0.75rem}.legal p:last-child{text-align:left}}
@media(max-width:359px){.hero{min-height:790px}.hero-copy{padding-top:40px}.hero h1{font-size:3.75rem}.hero-actions{gap:13px}.hero-actions .button{padding:14px;font-size:0.75rem}.hero-actions .text-link{font-size:0.75rem}.hero-description{font-size:1rem}.hero-art{height:47%;bottom:62px}.hero-art figcaption{font-size:0.75rem}.section h2{font-size:2.375rem}.studio-statement h2,.contact-copy h2{font-size:3.125rem}.process-list{grid-template-columns:1fr;gap:29px}.process-list li{padding-top:21px}.step-number{margin-bottom:19px}.process-list p{max-width:100%;font-size:1rem}.step-output{font-size:0.75rem;padding-top:21px}.contact-panel{padding:23px 17px}.studio-facts>div{grid-template-columns:.8fr 1.4fr;font-size:0.8125rem;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Allow enlarged text and long user content to reflow within the grid. */
body{overflow-wrap:anywhere}
.section-intro>*,.service-row>*,.process-list>*,.studio>*,.contact>*{min-width:0}
.eyebrow{flex-wrap:wrap}
@media(max-width:760px){.hero-copy{padding-bottom:126px}}

.eyebrow.light .section-number{color:#aeb4b6}

.work{background:#e6e7e1;border-top:1px solid var(--line)}
.work .section-intro{margin-bottom:0}
.commissioned-case{display:grid;grid-template-columns:1fr 2fr;gap:36px;border-top:1px solid var(--line);margin-top:44px;padding-top:34px}
.commissioned-case>div{min-width:0}
.case-scope{font-size:.875rem;line-height:1.5;margin-top:14px}
.case-copy h3{font-size:clamp(1.75rem,2.6vw,2.5rem);line-height:1.15;letter-spacing:-.035em;font-weight:400;max-width:650px}
.case-copy>p{max-width:600px;font-size:1rem;line-height:1.65;color:#555b5d;margin-top:18px}
.case-copy .case-description-zh{font-size:.875rem;color:#60686a;margin-top:13px;letter-spacing:.02em}
.case-media{grid-column:1/-1;min-width:0;margin-top:4px}.case-media video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;display:block;background:#101214}.case-media figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;font-size:.8125rem;line-height:1.6;color:#555b5d;margin-top:15px}.case-media figcaption a{text-decoration:underline;text-underline-offset:3px}.case-media .video-error{font-size:.875rem;line-height:1.6;margin-top:16px;color:#8f291a}
.case-contact{display:inline-block;margin-top:24px;color:var(--ink)}
@media(max-width:1050px){.commissioned-case{grid-template-columns:.65fr 1.7fr;gap:30px}}
@media(max-width:760px){.commissioned-case{grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:27px}.case-scope{margin-top:8px}.case-copy h3{font-size:1.875rem}}

/* Partner descriptions extend the existing editorial grid without altering its theme. */
.partners{border-top:1px solid var(--line);padding:32px 0 36px}
.partner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:27px}
.partner-grid h3{font-size:1rem;font-weight:600;line-height:1.4;letter-spacing:-.02em;margin-bottom:12px}
.partner-grid p{font-size:1rem;line-height:1.65;color:#555b5d}
@media(max-width:1050px){.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}
@media(max-width:760px){.partner-grid{grid-template-columns:1fr;gap:25px}}
