:root{--ground:#0a0b0d;--paper:#101216;--ink:#f4f5f1;--ink-2:#9ea2a8;--ink-3:#5d626a;--rule:#f4f5f121;--rule-strong:#f4f5f142;--accent:#edc531;--accent-ink:#2a2100;--on-photo:#f6f6f2;--placeholder:#171a1f;--font-latin:"Archivo", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--font-cjk:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--font-body:var(--font-latin);--font-head:var(--font-latin);--wdth-display:112%;--wdth-text:100%;--wdth-meta:84%;--wght-head:500;--fs-display:clamp(2.5rem, 6.2vw, 5.75rem);--fs-h1:clamp(2.125rem, 4.2vw, 3.75rem);--fs-h2:clamp(1.625rem, 2.6vw, 2.375rem);--fs-h3:1.375rem;--fs-lead:clamp(1.125rem, 1.5vw, 1.375rem);--fs-body:1.0625rem;--fs-small:.875rem;--fs-meta:.75rem;--lh-display:1;--lh-h1:1.05;--lh-h2:1.15;--lh-h3:1.25;--lh-lead:1.45;--lh-body:1.55;--lh-small:1.5;--tracking-head:-.015em;--tracking-meta:.06em;--s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2rem;--s6:3rem;--s8:4rem;--s12:6rem;--s16:8rem;--s24:12rem;--gutter:1.5rem;--margin:clamp(1rem, 4vw, 4rem);--max:90rem;--section:clamp(5rem, 9vw, 8rem);--header-h:4rem;--ease:cubic-bezier(.16, 1, .3, 1);--dur:.32s;color-scheme:dark}html[lang=zh-Hant]{--font-body:var(--font-cjk);--font-head:var(--font-cjk);--wdth-display:100%;--wght-head:500;--fs-display:clamp(2.25rem, 5vw, 4.5rem);--fs-h1:clamp(1.875rem, 3.4vw, 3rem);--fs-h2:clamp(1.5rem, 2.2vw, 2rem);--fs-h3:1.25rem;--fs-lead:clamp(1.0625rem, 1.3vw, 1.25rem);--fs-body:1rem;--lh-display:1.15;--lh-h1:1.2;--lh-h2:1.3;--lh-h3:1.4;--lh-lead:1.7;--lh-body:1.8;--lh-small:1.7;--tracking-head:.02em;--tracking-meta:.02em}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--ground);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);font-stretch:var(--wdth-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}h1,h2,h3,h4{font-family:var(--font-head);font-weight:var(--wght-head);letter-spacing:var(--tracking-head);text-wrap:balance;margin:0}h1{font-size:var(--fs-h1);line-height:var(--lh-h1)}h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}h3{font-size:var(--fs-h3);line-height:var(--lh-h3)}p{margin:0}html[lang=zh-Hant] .latin{font-family:var(--font-latin)}.display{font-family:var(--font-head);font-size:var(--fs-display);line-height:var(--lh-display);font-weight:var(--wght-head);font-stretch:var(--wdth-display);letter-spacing:var(--tracking-head);text-wrap:balance}.lead{font-size:var(--fs-lead);line-height:var(--lh-lead);color:var(--ink-2);text-wrap:pretty;max-width:34em}.small{font-size:var(--fs-small);line-height:var(--lh-small)}.muted{color:var(--ink-2)}.meta{font-family:var(--font-latin);font-size:var(--fs-meta);line-height:1.4;font-stretch:var(--wdth-meta);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--ink-3);font-variant-numeric:tabular-nums}html[lang=zh-Hant] .meta{font-family:var(--font-cjk);text-transform:none;font-stretch:100%}.prose{text-wrap:pretty;max-width:68ch}.prose>*+*{margin-top:1em}.prose h2,.prose h3{margin-top:1.75em}.prose h2{font-size:var(--fs-h3)}.prose h3{font-size:var(--fs-body);font-weight:600}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:.35em}.prose a{text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:.18em;transition:text-decoration-color var(--dur) var(--ease)}.prose a:hover{text-decoration-color:var(--accent)}.prose blockquote{border-left:2px solid var(--ink);font-size:var(--fs-lead);line-height:var(--lh-lead);margin:1.5em 0;padding-left:1.25em}.prose blockquote cite{font-style:normal;font-size:var(--fs-small);color:var(--ink-3);margin-top:.5em;display:block}.prose figure{margin:2em 0}.prose figure.full-bleed{margin-inline:calc(-1 * var(--margin))}.prose figcaption{font-size:var(--fs-small);color:var(--ink-3);margin-top:.5em}.prose hr{border:0;border-top:1px solid var(--rule);margin:2.5em 0}.prose code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}.wrap{width:100%;max-width:var(--max);padding-inline:var(--margin);margin-inline:auto}.grid-12{gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.section{padding-block:var(--section)}.section+.section{padding-top:0}.section-head{margin-bottom:var(--s6);justify-content:space-between;align-items:baseline;gap:var(--s3);flex-wrap:wrap;display:flex}.hairline{border:0;border-top:1px solid var(--rule);margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.link{background-image:linear-gradient(var(--accent), var(--accent));transition:background-size var(--dur) var(--ease);background-position:0 100%;background-repeat:no-repeat;background-size:0 2px;padding-bottom:2px;display:inline-block;position:relative}.link:hover,.link:focus-visible{background-size:100% 2px}.link-arrow:after{content:" →";transition:transform var(--dur) var(--ease);display:inline-block}.link-arrow:hover:after{transform:translate(4px)}.btn{background:var(--ink);color:var(--paper);font-size:var(--fs-small);letter-spacing:.02em;border:1px solid var(--ink);white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur) var(--ease), transform .12s ease;align-items:center;gap:.5em;padding:.75rem 1.5rem;font-weight:500;display:inline-flex}.btn:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn:active{transform:scale(.98)}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}@media (prefers-reduced-motion:no-preference){.rise{animation:rise .9s var(--ease) both}.rise-2{animation-delay:.12s}.rise-3{animation-delay:.24s}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}::view-transition-old(root){animation:.2s ease-in both lights-down}::view-transition-new(root){animation:lights-up .56s var(--ease) both}@keyframes lights-down{to{opacity:0}}@keyframes lights-up{0%{opacity:0;filter:brightness(.35)}to{opacity:1;filter:none}}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}}.skeleton-note{border:1px dashed var(--rule-strong);padding:var(--s2) var(--s3);color:var(--ink-3);font-size:var(--fs-small)}.site-header{z-index:10;border-bottom:1px solid var(--rule);position:sticky;top:0}.site-header:before{content:"";z-index:-1;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(12px);position:absolute;inset:0}.site-header .wrap{height:var(--header-h);align-items:center;gap:var(--s4);display:flex}.wordmark{align-items:center;display:inline-flex}.wordmark img{width:auto;height:1.25rem}.site-nav{margin-left:auto}.site-nav ul{gap:var(--s3);margin:0;padding:0;list-style:none;display:flex}.site-nav a{font-size:var(--fs-small);padding-block:.25rem;font-weight:500}.site-nav a[aria-current=page]{background-size:100% 2px}.lang-switch{font-family:var(--font-latin);font-size:var(--fs-meta);letter-spacing:.08em;border:1px solid var(--ink);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);padding:.35rem .6rem;font-weight:600;line-height:1}.lang-switch:hover{background:var(--ink);color:var(--paper)}.nav-toggle,.site-nav-foot{display:none}@media (width<=47.99rem){.site-nav{top:var(--header-h);height:calc(100dvh - var(--header-h));z-index:9;background:var(--paper);padding:var(--s6) var(--margin) var(--s6);opacity:0;visibility:hidden;transition:opacity .4s var(--ease), transform .5s var(--ease), visibility 0s linear .4s;flex-direction:column;justify-content:space-between;display:flex;position:fixed;left:0;right:0;transform:translateY(-8px)}.site-header.is-open .site-nav{opacity:1;visibility:visible;transition:opacity .4s var(--ease), transform .5s var(--ease), visibility 0s;transform:none}html.nav-open{overflow:hidden}.site-nav ul{gap:var(--s2);flex-direction:column}.site-nav li{opacity:0;transition:opacity .5s var(--ease), transform .6s var(--ease);transition-delay:0s;transform:translateY(16px)}.site-header.is-open .site-nav li{opacity:1;transition-delay:calc(80ms + var(--i,0) * 45ms);transform:none}.site-nav a{font-family:var(--font-head);font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:var(--wght-head);letter-spacing:var(--tracking-head);font-stretch:var(--wdth-display)}.site-nav-foot{color:var(--ink-2);font-size:var(--fs-small);display:block}.nav-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:6px;width:2.5rem;height:2.5rem;margin-left:.5rem;padding:0;display:inline-flex}.nav-toggle .bar{background:var(--ink);width:22px;height:1.5px;transition:transform .4s var(--ease);transform-origin:50%;margin-inline:auto;display:block}.site-header.is-open .nav-toggle .bar:first-child{transform:translateY(3.75px)rotate(45deg)}.site-header.is-open .nav-toggle .bar:last-child{transform:translateY(-3.75px)rotate(-45deg)}.site-header .lang-switch{margin-left:auto}}@media (prefers-reduced-motion:no-preference){html.js .reveal{opacity:0;transition:opacity .9s var(--ease), transform 1.4s var(--ease);transform:scale(1.015)}html.js .reveal.is-in{opacity:1;transform:none}}.cms-form .fields{gap:var(--s3) var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.cms-form .field{gap:.4rem;display:grid}.cms-form .field.wide{grid-column:1/-1}.cms-form .field.check{grid-template-columns:auto 1fr;align-items:center}.cms-form label{font-size:var(--fs-small);color:var(--ink-2)}.cms-form input:not([type=checkbox]),.cms-form textarea,.cms-form select{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border-radius:0;padding:.7rem .85rem}.cms-form textarea{resize:vertical;min-height:9rem}.cms-form input:focus-visible,.cms-form textarea:focus-visible,.cms-form select:focus-visible{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 45%, transparent);outline:0}.cms-form input:user-invalid,.cms-form textarea:user-invalid{border-color:#e5484d}.cms-form .form-error{color:#ff9592;font-size:var(--fs-small)}.cms-form>p{margin-top:var(--s3)}.cms-form .form-done{border-top:1px solid var(--rule-strong);padding-top:var(--s3);font-size:var(--fs-lead);line-height:var(--lh-lead)}@media (width<=47.99rem){.cms-form .fields{grid-template-columns:1fr}}.site-footer{border-top:1px solid var(--rule);padding-block:var(--s8) var(--s6)}.site-footer .cols{gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.site-footer .col,.site-footer .col.wide{grid-column:span 3}.site-footer ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.site-footer a{font-size:var(--fs-small)}.site-footer .note{color:var(--ink-3);font-size:var(--fs-meta);white-space:nowrap;margin-left:.6rem}.site-footer .legal{margin-top:var(--s8);justify-content:space-between;gap:var(--s3);color:var(--ink-3);font-size:var(--fs-meta);flex-wrap:wrap;display:flex}.site-footer .legal-end{gap:.35rem var(--s3);flex-wrap:wrap;display:flex}.site-footer .legal a{font-size:inherit}@media (width<=47.99rem){.site-footer .col,.site-footer .col.wide{grid-column:span 6}.site-footer .note{margin-left:0;display:block}}.hero{background:var(--ground);height:clamp(32rem,78vh,56rem);color:var(--on-photo);position:relative;overflow:hidden}.hero img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(#0a0b0d00 25%,#0a0b0d40 55%,#0a0b0db8 100%);position:absolute;inset:0}.light{pointer-events:none;will-change:transform;background:radial-gradient(circle,#0a0b0d00 0 140px,#edc5310f 220px,#0a0b0d57 380px,#0a0b0d8f 620px 100%);width:4000px;height:4000px;position:absolute;top:0;left:0;transform:translate(-2000px,-2000px)}@media (width<=47.99rem){.light{background:radial-gradient(circle,#0a0b0d00 0 90px,#edc5310f 150px,#0a0b0d57 260px,#0a0b0d8f 420px 100%)}}.hero .wrap{z-index:1;justify-content:flex-end;gap:var(--s3);flex-direction:column;height:100%;padding-bottom:clamp(2rem,6vh,4rem);display:flex;position:relative}.hero .display{white-space:pre-line;max-width:20ch}html[lang=zh-Hant] .hero .display{max-width:none}.hero .lead{color:color-mix(in srgb, var(--on-photo) 82%, transparent);max-width:44ch}.feature-grid{gap:var(--s6) var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.feature-grid .item{grid-row:span 2;grid-template-rows:subgrid;row-gap:0;display:grid}.feature-grid .item:first-child{grid-column:span 7}.feature-grid .item:nth-child(2){grid-column:span 5}.feature-grid .item:nth-child(3),.feature-grid .item:nth-child(4),.feature-grid .item:nth-child(5){grid-column:span 4}.feature-grid .item:nth-child(n+6){grid-column:span 6}.feature-grid .item:first-child .frame{aspect-ratio:3/2}.feature-grid .item:nth-child(2) .frame{aspect-ratio:auto;align-self:stretch;position:relative}.feature-grid .item:nth-child(2) .frame img{position:absolute;inset:0}.feature-grid .item:nth-child(3) .frame,.feature-grid .item:nth-child(4) .frame,.feature-grid .item:nth-child(5) .frame{aspect-ratio:4/3}.frame{aspect-ratio:3/2;background:var(--placeholder);display:block;overflow:hidden}.frame img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease)}.item:hover .frame img{transform:scale(1.02)}.caption{margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--rule);align-content:start;gap:.35rem;display:grid}.caption h3{font-size:var(--fs-h3)}.caption h3 a{transition:color var(--dur) var(--ease)}.item:hover .caption h3 a{color:var(--accent)}.simple-grid{gap:var(--s6) var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.index{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.index .row{border-bottom:1px solid var(--rule)}.index .row a{gap:var(--gutter);padding-block:var(--s3);grid-template-columns:9rem minmax(0,1fr) 18rem;align-items:center;display:grid}.index .frame{aspect-ratio:3/2}.index h3{font-size:var(--fs-h3);transition:color var(--dur) var(--ease)}.index .row a:hover h3{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.16em;text-decoration-thickness:2px}.index .sub{color:var(--ink-2);font-size:var(--fs-small);margin-top:.25rem}.index .place{color:var(--ink-2);font-size:var(--fs-small);text-wrap:balance;line-height:1.4}.index .year-head{padding:var(--s6) 0 var(--s2);border-bottom:1px solid var(--rule-strong);font-family:var(--font-latin);font-size:var(--fs-h1);font-weight:500;line-height:1;font-stretch:var(--wdth-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.index .year-head:first-child{padding-top:var(--s2)}.index .row.is-hidden,.index .year-head.is-hidden{display:none}.filters{gap:var(--s2) var(--s3);margin-bottom:var(--s4);flex-wrap:wrap;display:flex}.filters button{font:inherit;font-size:var(--fs-small);color:var(--ink-3);cursor:pointer;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;border:0;border-bottom:2px solid #0000;padding:.25rem 0;font-weight:500}.filters button:hover,.filters button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent)}@media (width<=63.99rem){.feature-grid .item:nth-child(n){grid-column:span 6}.feature-grid .item:nth-child(5){grid-column:span 12}.index .row a{grid-template:"thumb place""thumb title"1fr/7rem minmax(0,1fr);align-items:start;row-gap:.25rem}.index .frame{grid-area:thumb}.index .title{grid-area:title}.index .place{grid-area:place}.simple-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=47.99rem){.feature-grid .item:nth-child(n){grid-column:span 12}.feature-grid .item:nth-child(2) .frame{aspect-ratio:4/5;position:static}.feature-grid .item:nth-child(2) .frame img{position:static}.feature-grid .item:nth-child(5) .frame{aspect-ratio:3/2}.index .row a{grid-template:"thumb""place""title"/minmax(0,1fr)}.index .frame{margin-bottom:.5rem}.simple-grid{grid-template-columns:1fr}}.statement{gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.statement h2{font-size:var(--fs-h1);line-height:var(--lh-h1);grid-column:1/span 9;max-width:24ch}.statement p{margin-top:var(--s3);grid-column:1/span 9}.services-grid{gap:var(--s6) var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.services-grid article{border-top:1px solid var(--rule-strong);padding-top:var(--s2);gap:var(--s2);align-content:start;display:grid}.services-grid p{color:var(--ink-2);max-width:44ch}.post-list{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.post-list li{border-bottom:1px solid var(--rule)}.post-list a{gap:var(--gutter);padding-block:var(--s3);grid-template-columns:8rem minmax(0,1fr) 8rem;align-items:baseline;display:grid}.post-list a:hover h3{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.16em;text-decoration-thickness:2px}.post-list .category{text-align:right}@media (width<=63.99rem){.statement h2,.statement p{grid-column:1/-1}}@media (width<=47.99rem){.services-grid{grid-template-columns:1fr}.post-list a{grid-template-columns:1fr;gap:.25rem}.post-list .category{text-align:left}}.case-hero{background:var(--ground);max-height:80vh;overflow:hidden}.case-hero img{object-fit:cover;width:100%;height:100%;max-height:80vh}.case-title{gap:var(--gutter);padding-block:var(--s8) var(--s6);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.case-title .name{color:var(--ink-3);font-size:var(--fs-small);grid-column:1/span 12}.case-title h1{margin-top:var(--s2);grid-column:1/span 9}.spec{gap:var(--gutter);border-top:1px solid var(--rule-strong);padding-block:var(--s3) var(--s8);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.spec div{grid-column:span 4;align-content:start;gap:.25rem;display:grid}.spec dd{font-size:var(--fs-small);line-height:var(--lh-small);margin:0}.case-summary{gap:var(--gutter);padding-bottom:var(--s12);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.case-summary p{font-size:var(--fs-lead);line-height:var(--lh-lead);grid-column:3/span 8}.narrative{gap:var(--gutter);padding-bottom:var(--s12);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.narrative .label{grid-column:1/span 2;padding-top:.4em}.narrative .body{gap:var(--s3);grid-column:3/span 8;display:grid}.narrative .body h2{max-width:22ch}.plates{gap:var(--gutter);padding-bottom:var(--s12);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.plates figure{grid-column:span 12;margin:0}.plates.two figure{grid-column:span 6}.plates.right figure{grid-column:5/span 8}.plates img{aspect-ratio:3/2;object-fit:cover;background:var(--placeholder);width:100%}.plates figcaption{font-size:var(--fs-small);color:var(--ink-3);margin-top:.5rem}.hung{gap:var(--gutter);padding-bottom:var(--s12);display:grid}.hung-row{align-items:flex-start;gap:var(--gutter);width:100%;max-width:min(100%, calc(var(--sum) * 82vh), var(--cap));display:flex}.hung-row.right{margin-left:auto}.hung-row figure{flex:var(--ar) 1 0%;min-width:0;margin:0}.hung-row img{width:100%;height:auto;aspect-ratio:var(--ar);object-fit:cover;background:var(--placeholder);display:block}.hung-row figcaption{font-size:var(--fs-small);color:var(--ink-3);margin-top:.5rem}.strip{--edge:max(var(--margin), calc((100% - var(--max)) / 2 + var(--margin)));--strip-h:min(64vh, 44rem);padding-bottom:var(--s12)}.strip-head{align-items:center;gap:var(--s3);margin-bottom:var(--s3);display:flex}.strip-head .meta{color:var(--ink-2);margin:0}.strip-count{font-variant-numeric:tabular-nums}.strip-nav{gap:.5rem;margin-left:auto;display:flex}.strip-btn{border:1px solid var(--ink-3);width:2.75rem;height:2.75rem;color:var(--ink);font:inherit;cursor:pointer;transition:border-color .3s var(--ease), color .3s var(--ease), opacity .3s var(--ease);background:0 0;border-radius:50%}.strip-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.strip-btn:disabled{opacity:.3;cursor:default}.strip-track{gap:var(--gutter);padding:0 0 var(--s2) var(--edge);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0;scroll-padding-inline-start:var(--edge);list-style:none;display:flex;position:relative;overflow-x:auto}.strip-track::-webkit-scrollbar{display:none}.strip-track:after{content:"";flex:0 0 var(--edge)}.strip-track:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[data-strip-ready] .strip-track{cursor:grab}.strip-track.is-dragging{scroll-snap-type:none;cursor:grabbing}.strip-item{scroll-snap-align:start;flex:none}.strip-item figure{margin:0;overflow:hidden}.strip-item img{width:auto;max-width:none;height:var(--strip-h);background:var(--placeholder);user-select:none;-webkit-user-drag:none;transition:filter .7s var(--ease), transform .9s var(--ease);display:block}[data-strip-ready] .strip-item img{filter:brightness(.42)}[data-strip-ready] .strip-item.is-current img,.strip-item:hover img{filter:none}.strip-item:hover img{transform:scale(1.02)}.strip.is-placing .strip-item img{transition:none}.strip-item figcaption{font-size:var(--fs-small);color:var(--ink-3);margin-top:.5rem}@media (width<=47.99rem){.strip{--strip-h:min(56vh, 62vw)}}@media (prefers-reduced-motion:reduce){.strip-item img{transition:none}.strip-item:hover img{transform:none}}.credits{gap:var(--gutter);border-top:1px solid var(--rule-strong);padding-block:var(--s3) var(--s12);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.credits>div{grid-column:span 4}.credits h2{font-size:var(--fs-small);margin-bottom:var(--s2);font-weight:600}.credits dl{gap:.25rem var(--s2);font-size:var(--fs-small);line-height:var(--lh-small);grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.credits dt{color:var(--ink-3)}.credits dd{margin:0}.credits ul{font-size:var(--fs-small);line-height:var(--lh-small);gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.tag-list,.tags{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.tag-list li,.tags li{border:1px solid var(--rule-strong);font-size:var(--fs-meta);color:var(--ink-2);padding:.15rem .6rem}.next-project{border-top:1px solid var(--rule-strong);padding-block:var(--s6) var(--s12);gap:var(--s2);display:grid}.next-project h2{font-size:var(--fs-h1);line-height:var(--lh-h1)}@media (width<=63.99rem){.case-title h1{grid-column:1/-1}.spec div{grid-column:span 6}.case-summary p{grid-column:1/-1}.narrative .label{grid-column:1/-1;padding-top:0}.narrative .body,.plates.right figure{grid-column:1/-1}.credits>div{grid-column:span 6}}@media (width<=47.99rem){.spec div,.plates.two figure,.credits>div{grid-column:1/-1}.hung-row{flex-direction:column;max-width:none}.hung-row figure{flex:none;width:100%}}.page-title{padding-block:var(--s8) var(--s6);gap:var(--s2);display:grid}.page-title .lead{max-width:44ch}.grid{gap:var(--s6) var(--gutter);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));display:grid}.card{gap:var(--s2);align-content:start;display:grid}.card .thumb{aspect-ratio:3/2;object-fit:cover;background:var(--placeholder);width:100%}.eyebrow{font-family:var(--font-latin);font-size:var(--fs-meta);line-height:1.4;font-stretch:var(--wdth-meta);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--ink-3)}.block{gap:var(--s3);display:grid}.block+.block{margin-top:var(--s8)}.block-spacer-sm{height:var(--s2)}.block-spacer-md{height:var(--s6)}.block-spacer-lg{height:var(--s12)}.block-spacer-xl{height:var(--s24)}.pointer-light{z-index:30;pointer-events:none;opacity:0;will-change:transform;mix-blend-mode:screen;width:15rem;height:15rem;transition:opacity .36s var(--ease);background:radial-gradient(circle,#edc53142,#edc53117 34%,#edc53100 68%);border-radius:50%;position:fixed;top:0;left:0;transform:translate(-999px,-999px)}.pointer-light.on{opacity:1}.journal-lead{gap:var(--gutter);padding-bottom:var(--s8);border-bottom:1px solid var(--rule);margin-bottom:var(--s6);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.journal-lead .frame{aspect-ratio:3/2;grid-column:1/span 7}.journal-lead .text{gap:var(--s2);grid-column:8/span 5;align-content:end;display:grid}.journal-lead h2{font-size:var(--fs-h2)}.post-body{gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.post-body .prose{grid-column:3/span 8}.post-header{padding-block:var(--s8) var(--s6);gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.post-header .meta{grid-column:1/-1}.post-header h1{grid-column:1/span 9}.post-header .lead{grid-column:1/span 8}.post-hero{margin-bottom:var(--s8)}.post-hero img{object-fit:cover;width:100%;max-height:70vh}@media (width<=63.99rem){.journal-lead .frame,.journal-lead .text,.post-body .prose,.post-header h1,.post-header .lead{grid-column:1/-1}}.service-rows{border-top:1px solid var(--rule-strong)}.service-row{gap:var(--gutter);padding-block:var(--s6);border-bottom:1px solid var(--rule);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.service-row h2{font-size:var(--fs-h2);grid-column:1/span 4}.service-row .text{gap:var(--s3);grid-column:5/span 7;display:grid}.service-row .text p{max-width:60ch;color:var(--ink-2)}.service-page{gap:var(--gutter);padding-bottom:var(--s12);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.service-page .intro{gap:var(--s3);grid-column:1/span 8;display:grid}.service-page .side{gap:var(--s3);grid-column:10/span 3;align-content:start;display:grid}.service-page .side ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}@media (width<=63.99rem){.service-row h2,.service-row .text,.service-page .intro,.service-page .side{grid-column:1/-1}}.hub-head{padding-block:var(--s8) var(--s8);gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;display:grid}.hub-head h1{font-size:var(--fs-display);line-height:var(--lh-display);font-stretch:var(--wdth-display);grid-column:1/span 8}.hub-head .lead{grid-column:1/span 7}.hub-head .aside{gap:var(--s2);grid-column:9/span 4;justify-items:start;display:grid}.manifesto{gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.manifesto .quote{font-size:var(--fs-h1);line-height:var(--lh-h1);font-family:var(--font-head);font-weight:var(--wght-head);letter-spacing:var(--tracking-head);text-wrap:balance;grid-column:1/span 10}.manifesto .body{margin-top:var(--s4);grid-column:1/span 7}.pillars{gap:var(--s6) var(--gutter);border-top:1px solid var(--rule-strong);padding-top:var(--s3);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.pillars article{gap:var(--s2);grid-column:span 6;align-content:start;display:grid}.pillars article p{color:var(--ink-2);max-width:52ch}.brand-cards{gap:var(--s4) var(--gutter);border-top:1px solid var(--rule-strong);padding-top:var(--s3);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.brand-cards article{padding-block:var(--s2);grid-column:span 4;align-content:start;gap:.35rem;display:grid}.brand-cards h3{font-size:var(--fs-h3)}.brand-cards p{color:var(--ink-2);font-size:var(--fs-small);max-width:36ch}.logo-wall{gap:var(--s4) var(--gutter);border-top:1px solid var(--rule-strong);padding-top:var(--s4);grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;margin:0;padding-inline:0;list-style:none;display:grid}.logo-wall li{padding-block:var(--s2);justify-content:center;display:flex}.logo-wall img{height:var(--logo-h,3rem);object-fit:contain;opacity:.78;width:auto;max-width:100%;transition:opacity var(--dur) var(--ease)}.logo-wall a:hover img{opacity:1}.logo-wall .name{font-size:var(--fs-small);color:var(--ink-2)}@media (width<=63.99rem){.hub-head h1,.hub-head .lead,.hub-head .aside,.manifesto .quote,.manifesto .body{grid-column:1/-1}.brand-cards article{grid-column:span 6}.logo-wall{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=47.99rem){.pillars article,.brand-cards article{grid-column:1/-1}.logo-wall{row-gap:var(--s2);grid-template-columns:repeat(2,minmax(0,1fr))}.logo-wall li{padding-block:var(--s1)}}.offer-grid{gap:var(--gutter);padding-bottom:var(--s12);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.offer-grid .main{gap:var(--s4);grid-column:1/span 8;display:grid}.offer-grid .side{gap:var(--s3);border-top:1px solid var(--rule-strong);padding-top:var(--s2);grid-column:10/span 3;align-content:start;display:grid}.offer-grid .side dl{gap:var(--s2);margin:0;display:grid}.offer-grid .side dd{font-size:var(--fs-small);margin:0}@media (width<=63.99rem){.offer-grid .main,.offer-grid .side{grid-column:1/-1}}.event-head{padding-block:var(--s8) var(--s6);gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;display:grid}.event-head .title{gap:var(--s2);grid-column:1/span 8;display:grid}.event-head .title h1{font-size:var(--fs-display);line-height:var(--lh-display);font-stretch:var(--wdth-display)}.event-head .when{gap:var(--s2);grid-column:9/span 4;justify-items:start;display:grid}.event-head .when .date{font-family:var(--font-latin);font-size:var(--fs-h2);font-variant-numeric:tabular-nums;font-weight:500;line-height:1.1}.schedule{border-top:1px solid var(--rule-strong);margin:0;padding:0;list-style:none}.schedule li{gap:var(--gutter);padding-block:var(--s2);border-bottom:1px solid var(--rule);grid-template-columns:6rem minmax(0,1fr) 8rem;align-items:baseline;display:grid}.schedule .time{font-family:var(--font-latin);font-variant-numeric:tabular-nums;font-weight:500}.schedule .type{text-align:right}.schedule .desc{color:var(--ink-2);font-size:var(--fs-small);margin-top:.25rem}.people-grid{gap:var(--s4) var(--gutter);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.people-grid article{gap:.35rem;display:grid}.people-grid .portrait{aspect-ratio:4/5;object-fit:cover;background:var(--placeholder);width:100%;margin-bottom:.5rem}.people-grid h3{font-size:var(--fs-body);font-weight:600}.faq details{border-top:1px solid var(--rule)}.faq details:last-child{border-bottom:1px solid var(--rule)}.faq summary{cursor:pointer;padding-block:var(--s2);font-size:var(--fs-h3);font-family:var(--font-head);font-weight:var(--wght-head);justify-content:space-between;gap:var(--s3);list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--ink-3);font-weight:400}.faq details[open] summary:after{content:"−"}.faq .prose{padding-bottom:var(--s3)}@media (width<=63.99rem){.event-head .title,.event-head .when{grid-column:1/-1}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule li{grid-template-columns:5rem minmax(0,1fr)}.schedule .type{display:none}}.contact-grid{gap:var(--s6) var(--gutter);padding-block:var(--s8) var(--s12);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.contact-grid .big{grid-column:1/span 12}.contact-grid .big a{font-family:var(--font-latin);font-size:var(--fs-display);line-height:1.1;font-stretch:var(--wdth-display);font-weight:var(--wght-head);letter-spacing:var(--tracking-head);word-break:break-all}.contact-grid .col{border-top:1px solid var(--rule-strong);padding-top:var(--s2);grid-column:span 4;align-content:start;gap:.35rem;display:grid}.contact-grid .col .meta{margin-bottom:.35rem}@media (width<=63.99rem){.contact-grid .col{grid-column:span 6}}@media (width<=47.99rem){.contact-grid .col{grid-column:1/-1}}.jobs{border-top:1px solid var(--rule-strong);margin:0;padding:0;list-style:none}.jobs li{border-bottom:1px solid var(--rule)}.jobs a{gap:var(--gutter);padding-block:var(--s3);grid-template-columns:minmax(0,1fr) 10rem;align-items:baseline;display:grid}.jobs a:hover h2{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.16em;text-decoration-thickness:2px}.jobs h2{font-size:var(--fs-h3)}.jobs .sub{color:var(--ink-2);font-size:var(--fs-small);margin-top:.25rem}.jobs .type{text-align:right}@media (width<=47.99rem){.jobs a{grid-template-columns:1fr;gap:.25rem}.jobs .type{text-align:left}}.blocks{gap:var(--section);display:grid}.b-hero{gap:var(--s3);padding-top:var(--s8);display:grid}.b-hero .display{max-width:20ch}.b-hero .lead{max-width:44ch}.b-hero.has-media{background:var(--ground);height:clamp(28rem,70vh,52rem);color:var(--on-photo);margin-inline:calc(-1 * var(--margin));padding:0;position:relative}.b-hero.has-media img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.b-hero.has-media:after{content:"";background:linear-gradient(#0a0b0d00 30%,#0a0b0db8);position:absolute;inset:0}.b-hero.has-media{overflow:hidden}.b-hero.has-media .inner{z-index:1;height:100%;padding:0 var(--margin) clamp(2rem, 6vh, 4rem);justify-content:flex-end;gap:var(--s3);flex-direction:column;display:flex;position:relative}.b-hero.has-media .lead{color:color-mix(in srgb, var(--on-photo) 82%, transparent)}.b-rich{gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.b-rich .prose{grid-column:3/span 8}.b-rich.wide .prose{max-width:28ch;font-family:var(--font-head);font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--wght-head);letter-spacing:var(--tracking-head);grid-column:1/span 10}.section.flush>.blocks>.b-hero.has-media:first-child{margin-top:calc(-1 * var(--section))}.b-media figure{margin:0}.b-media.full-bleed{margin-inline:calc(-1 * var(--margin))}.b-media figcaption{font-size:var(--fs-small);color:var(--ink-3);margin-top:.5rem}.b-gallery{gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.b-gallery figure{margin:0}.b-gallery img{aspect-ratio:3/2;object-fit:cover;width:100%}.b-stats{gap:var(--s4) var(--gutter);border-top:1px solid var(--rule-strong);padding-top:var(--s3);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.b-stats div{grid-column:span 3;gap:.25rem;display:grid}.b-stats .value{font-family:var(--font-latin);font-size:var(--fs-display);font-weight:500;line-height:1;font-stretch:var(--wdth-display);font-variant-numeric:tabular-nums}.b-quote{gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.b-quote blockquote{font-size:var(--fs-h2);line-height:var(--lh-h2);font-family:var(--font-head);font-weight:var(--wght-head);text-wrap:balance;grid-column:2/span 9;margin:0}.b-quote cite{margin-top:var(--s2);font-style:normal;font-size:var(--fs-small);color:var(--ink-3);display:block}.b-columns{gap:var(--s6) var(--gutter);border-top:1px solid var(--rule-strong);padding-top:var(--s3);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.b-columns>div{gap:var(--s2);grid-column:span 6;align-content:start;display:grid}.b-columns.three>div{grid-column:span 4}.b-columns .prose{max-width:52ch}.b-cta{border-top:1px solid var(--rule-strong);padding-top:var(--s6);gap:var(--s3);justify-items:start;display:grid}.b-cta h2{font-size:var(--fs-h1);line-height:var(--lh-h1);max-width:20ch}.b-cta .buttons{gap:var(--s2);flex-wrap:wrap;display:flex}.b-marquee{gap:var(--s2) var(--s4);font-size:var(--fs-h3);font-family:var(--font-head);font-weight:var(--wght-head);color:var(--ink-2);flex-wrap:wrap;display:flex}@media (width<=63.99rem){.b-rich .prose,.b-rich.wide .prose{grid-column:1/-1}.b-stats div{grid-column:span 6}.b-quote blockquote,.b-columns>div,.b-columns.three>div{grid-column:1/-1}}@media (width<=47.99rem){.b-gallery{grid-template-columns:1fr}.b-stats div{grid-column:1/-1}}.hero .plate{position:absolute;inset:0}.hero[data-plates] .plate:not(:first-child){opacity:0}@media (prefers-reduced-motion:no-preference){.hero[data-plates="2"] .plate,.hero[data-plates="3"] .plate,.hero[data-plates="4"] .plate{opacity:0;animation:plate-cycle var(--plate-cycle,22s) infinite;animation-delay:calc(var(--i) * (var(--plate-cycle,22s) / var(--plate-count,4)))}.hero[data-plates="2"]{--plate-count:2;--plate-cycle:14s}.hero[data-plates="3"]{--plate-count:3;--plate-cycle:18s}.hero[data-plates="4"]{--plate-count:4}.hero .plate img{animation:plate-drift var(--plate-cycle,22s) infinite ease-in-out;animation-delay:inherit}}@keyframes plate-cycle{0%{opacity:0}4%{opacity:1}25%{opacity:1}30%{opacity:0}to{opacity:0}}@keyframes plate-drift{0%{transform:scale(1.14)}30%{transform:scale(1.02)}to{transform:scale(1.02)}}.onview{border-bottom:1px solid var(--rule);background:var(--paper)}.onview .wrap{gap:var(--s3) var(--s4);padding-block:var(--s3);grid-template-columns:8.5rem minmax(0,1fr);align-items:center;display:grid}.onview .lbl{font-size:var(--fs-meta);letter-spacing:var(--tracking-meta);text-transform:uppercase;align-items:center;gap:.5rem;display:flex}.onview .dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 70%, transparent);border-radius:50%;flex:none;animation:2.4s infinite onview-pulse}@keyframes onview-pulse{70%{box-shadow:0 0 0 9px color-mix(in srgb, var(--accent) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent)}}.onview ul{gap:var(--s2) var(--s6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.onview li a{align-items:baseline;gap:.75rem;display:flex}.onview li b{font-weight:500}.walk{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:clamp(5rem,11vw,10rem);padding-block:clamp(5rem,10vw,9rem);display:grid}.work{grid-column:1/-1;grid-template-columns:subgrid;align-items:end;display:grid}.work .label{align-content:end;gap:.6rem;display:grid}.work h3{font-size:var(--fs-h2);line-height:var(--lh-h2)}.work h3 a{transition:color var(--dur) var(--ease)}.work:hover h3 a{color:var(--accent)}.work:hover .frame img{transform:scale(1.02)}.work .line{max-width:30ch;color:var(--ink-2);text-wrap:pretty}.work-1 .frame{aspect-ratio:2;grid-column:1/-1}.work-1 .label{grid-column:1/-1;grid-template-columns:subgrid;margin-top:var(--s3);align-items:start}.work-1 h3{font-size:var(--fs-h1);line-height:var(--lh-h1);grid-area:1/1/span 2/span 7}.work-1 .line,.work-1 .meta{grid-column:9/-1}.work-2 .frame{grid-column:1/span 8}.work-2 .label{grid-column:9/-1}.work-3 .frame{grid-area:1/5/auto/-1}.work-3 .label{grid-area:1/1/auto/span 4}.work-2 h3,.work-3 h3,.work-4 h3,.work-5 h3{font-size:clamp(1.25rem,1.8vw,1.625rem);line-height:var(--lh-h3)}.work-4,.work-5{grid-column:span 6;display:block}.work-4 .frame,.work-5 .frame{aspect-ratio:4/3}.work-4 .label,.work-5 .label{margin-top:var(--s2)}.walk-all{justify-content:space-between;align-items:baseline;gap:var(--s3);padding-top:var(--s4);border-top:1px solid var(--rule-strong);font-family:var(--font-head);font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:var(--wght-head);letter-spacing:var(--tracking-head);transition:color var(--dur) var(--ease);grid-column:1/-1;display:flex}.walk-all .ar{transition:transform var(--dur) var(--ease)}.walk-all:hover{color:var(--accent)}.walk-all:hover .ar{transform:translate(.25em)}@media (prefers-reduced-motion:no-preference){html.js .walk .frame img.reveal{filter:brightness(.2);transition:opacity .9s var(--ease), transform 1.4s var(--ease), filter 1.8s var(--ease) .12s}html.js .walk .frame img.reveal.is-in{filter:none}}.practice{border-top:1px solid var(--rule);padding-block:clamp(6rem,12vw,11rem);position:relative}.practice-text{max-width:21em;font-family:var(--font-head);font-size:clamp(1.75rem,3.5vw,3.25rem);line-height:1.3;font-weight:var(--wght-head);letter-spacing:var(--tracking-head);color:var(--ink-3);text-wrap:pretty}html[lang=zh-Hant] .practice-text{max-width:19em;font-size:clamp(1.625rem,3vw,2.75rem);line-height:1.6}.practice-text .term{color:var(--ink);text-decoration:underline 1px;text-decoration-color:var(--rule-strong);text-underline-offset:.22em;transition:color var(--dur) var(--ease), text-decoration-color var(--dur) var(--ease)}.practice-text .term:hover,.practice-text .term:focus-visible{color:var(--accent);text-decoration-color:currentColor}.facts{gap:var(--gutter);grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(4rem,8vw,7rem) 0 0;display:grid}.facts div{padding-top:var(--s2);border-top:1px solid var(--rule);align-content:start;gap:.4rem;display:grid}.facts dd{font-family:var(--font-latin);font-size:clamp(2.25rem,4vw,3.5rem);font-weight:500;line-height:1;font-stretch:var(--wdth-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;order:-1;margin:0}.facts dt{color:var(--ink-2);font-size:var(--fs-small)}.clients{gap:var(--s3);margin-top:clamp(4rem,8vw,7rem);display:grid}.logo-wall.strip{justify-content:space-between;align-items:center;gap:var(--s3) var(--s4);border-top:0;flex-wrap:wrap;padding-top:0;display:flex}.logo-wall.strip li{padding:0}.logo-wall.strip img{opacity:.62}.projector{z-index:20;pointer-events:none;opacity:0;width:clamp(15rem,22vw,22rem);transition:opacity .26s var(--ease);margin:0;position:fixed;top:0;left:0;transform:translate(-100vw)}.projector.on{opacity:1}.projector .slides{aspect-ratio:3/2;background:var(--placeholder);position:relative;overflow:hidden}.projector img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .6s var(--ease);position:absolute;inset:0}.projector img.on{opacity:1}.projector figcaption{color:var(--ink-2);margin-top:.5rem}.finale{border-top:1px solid var(--rule);padding-block:clamp(6rem, 13vw, 12rem) var(--s6);position:relative;overflow:hidden}.finale-glow{pointer-events:none;background:radial-gradient(closest-side,#edc53112,#edc53106 45%,#0000);border-radius:50%;width:60rem;height:60rem;position:absolute;top:0;left:0;transform:translate(-60rem)}.finale-grid{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid;position:relative}.finale-title{font-family:var(--font-head);font-size:clamp(3.25rem,11vw,11rem);font-weight:500;line-height:1;font-stretch:var(--wdth-display);letter-spacing:-.03em;grid-column:1/-1;margin:0;position:relative}html[lang=zh-Hant] .finale-title{letter-spacing:.02em;font-size:clamp(3rem,9.5vw,9rem);line-height:1.1}.finale-title .dim{color:var(--ink-3)}.finale-title .lit{color:var(--ink);-webkit-mask-image:radial-gradient(circle 1.1em at var(--lx,30%) var(--ly,55%), #000 25%, transparent 100%);mask-image:radial-gradient(circle 1.1em at var(--lx,30%) var(--ly,55%), #000 25%, transparent 100%);position:absolute;inset:0}.finale.is-still .finale-title .lit{-webkit-mask-image:none;mask-image:none}.finale-body{gap:var(--s2);grid-column:7/-1;justify-items:start;margin-top:clamp(2.5rem,5vw,4rem);display:grid}.finale-mail{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:500;font-stretch:var(--wdth-display)}.finale-actions{align-items:center;gap:var(--s2) var(--s3);margin-top:var(--s1);flex-wrap:wrap;display:flex}.finale .family{grid-column:1/-1;grid-template-columns:subgrid;row-gap:var(--s3);padding-top:var(--s3);border-top:1px solid var(--rule);margin-top:clamp(5rem,10vw,9rem);display:grid}.finale .family h3{grid-column:1/span 3}.finale .family ul{gap:var(--s3) var(--gutter);grid-column:4/-1;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.finale .family li>*{align-content:start;gap:.2rem;display:grid}.finale .family b{transition:color var(--dur) var(--ease);font-weight:500}.finale .family a:hover b{color:var(--accent)}.finale .family .tag{color:var(--ink-3);font-size:var(--fs-small)}.finale .family .note.soon{color:var(--accent)}@media (width<=63.99rem){.onview .wrap{grid-template-columns:1fr}.onview ul{flex-direction:column;gap:.5rem}.work-1 .frame{aspect-ratio:16/9}.work-1 h3,.work-1 .line,.work-1 .meta,.work-2 .frame,.work-3 .frame{grid-area:auto/1/auto/-1}.work-2 .label,.work-3 .label{margin-top:var(--s2);grid-area:auto/1/auto/span 9}.facts{row-gap:var(--s4);grid-template-columns:repeat(2,minmax(0,1fr))}.finale-body,.finale .family h3,.finale .family ul{grid-column:1/-1}.finale .family ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=47.99rem){.work-1 .frame{aspect-ratio:4/3}.work-2 .label,.work-3 .label,.work-4,.work-5{grid-column:1/-1}.walk-all{font-size:var(--fs-h2)}.logo-wall.strip{justify-content:flex-start}.finale .family .tag{display:none}}.scene{height:calc(100vh + (var(--states,6) - 1) * 70vh);position:relative}.scene-stage{top:var(--header-h);height:calc(100vh - var(--header-h));height:calc(100svh - var(--header-h));background:var(--ground);position:sticky;overflow:hidden}.scene-grid{column-gap:var(--gutter);row-gap:var(--s3);height:100%;padding-block:var(--s4);grid-template-rows:minmax(0,1fr) auto;grid-template-columns:repeat(12,minmax(0,1fr));display:grid;position:relative}.scene-title{text-align:center;max-width:14em;font-size:clamp(2rem,5vw,4.5rem);line-height:1.1;font-stretch:var(--wdth-display);opacity:0;transition:opacity .6s var(--ease), transform .9s var(--ease);pointer-events:none;grid-area:1/1/span 2/-1;place-self:center;transform:translateY(12px)}.scene-hint{opacity:0;transition:opacity .6s var(--ease) .5s;pointer-events:none;grid-area:2/1/auto/-1;place-self:end center}.scene-title.is-on,.scene-hint.is-on{opacity:1;transform:none}.plate{background:var(--placeholder);opacity:0;filter:brightness(.15);transition:opacity .7s var(--ease), transform 1.3s var(--ease), filter 1.7s var(--ease) 80ms;margin:0;overflow:hidden;transform:translateY(20px)scale(1.02)}.plate img{object-fit:cover;width:100%;height:100%}.plate.is-on{opacity:1;filter:none;transform:none}.plate-1{grid-area:1/1/auto/span 7;align-self:start;height:46vh}.plate-2{grid-area:1/8/auto/-1;align-self:start;height:28vh;margin-top:10vh}.plate-4{grid-area:2/4/auto/span 5;align-self:end;height:30vh}.plate-3{grid-area:2/9/auto/-1;align-self:end;height:22vh}.cues{grid-area:2/1/auto/span 3;align-self:end;min-height:8.5rem;margin:0;padding:0;list-style:none;position:relative}.cue{padding-top:var(--s2);border-top:1px solid var(--rule-strong);opacity:0;transition:opacity .5s var(--ease), transform .7s var(--ease);gap:.4rem;display:grid;position:absolute;bottom:0;left:0;right:0;transform:translateY(8px)}.cue.is-current{opacity:1;transform:none}.cue b{font-family:var(--font-head);font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--wght-head)}.cue p{color:var(--ink-2);font-size:var(--fs-small);line-height:var(--lh-small);text-wrap:pretty}.scene-label{z-index:1;padding-top:var(--s2);border-top:1px solid var(--rule-strong);opacity:0;transition:opacity .6s var(--ease), transform .8s var(--ease);grid-area:2/1/auto/span 3;align-self:end;gap:.5rem;display:grid;position:relative;transform:translateY(8px)}.scene-label.is-on{opacity:1;transform:none}.scene-label h3{font-size:var(--fs-h3)}.scene-label h3 a{transition:color var(--dur) var(--ease)}.scene-label h3 a:hover{color:var(--accent)}.scene-label .client{font-size:var(--fs-small);gap:.15rem;display:grid}.scene-label .scope{color:var(--ink-2);font-size:var(--fs-small);flex-wrap:wrap;gap:.2rem .7rem;margin:0;padding:0;list-style:none;display:flex}.scene-label .link{justify-self:start;margin-top:.25rem}html:not(.js) .scene,.scene.is-still{height:auto}html:not(.js) .scene-stage,.scene.is-still .scene-stage{height:auto;position:static}html:not(.js) .scene-grid,.scene.is-still .scene-grid{grid-template-rows:auto auto auto}html:not(.js) .scene .plate,.scene.is-still .plate,html:not(.js) .scene-label,.scene.is-still .scene-label{opacity:1;filter:none;transform:none}html:not(.js) .scene-title,.scene.is-still .scene-title,html:not(.js) .scene-hint,.scene.is-still .scene-hint{display:none}html:not(.js) .cues,.scene.is-still .cues{gap:var(--gutter);grid-area:3/1/auto/-1;grid-template-columns:repeat(4,minmax(0,1fr));min-height:0;display:grid}html:not(.js) .cue,.scene.is-still .cue{opacity:1;position:static;transform:none}@media (width<=47.99rem){.scene{height:calc(100vh + (var(--states,6) - 1) * 60vh)}.scene-grid{padding-block:var(--s3);grid-template-rows:auto auto auto minmax(0,1fr);row-gap:0}.scene-title{grid-row:1/span 4}.scene-hint{grid-row:4}.plate-1{grid-area:1/1/auto/-1;height:25svh}.plate-2{grid-area:2/5/auto/-1;height:20svh;margin-top:-3svh}.plate-3{grid-area:3/1/auto/span 7;align-self:start;height:17svh;margin-top:-3svh}.plate-4{grid-area:4/1/auto/-1;align-self:start;height:25svh;margin-top:-4svh}.cues,.scene-label{padding-top:var(--s2);background:linear-gradient(to top, var(--ground) 72%, #0a0b0d00);grid-area:4/1/auto/-1;align-self:end}.scene-label .client,.scene-label .scope{display:none}.cues{min-height:7.5rem}.cue{background:linear-gradient(to top, var(--ground) 72%, #0a0b0d00)}html:not(.js) .scene-grid,.scene.is-still .scene-grid{row-gap:var(--s2);grid-template-rows:auto auto auto auto auto auto}html:not(.js) .scene .plate,.scene.is-still .plate{margin-top:0}html:not(.js) .cues,.scene.is-still .cues{background:0 0;grid-row:5;grid-template-columns:1fr}html:not(.js) .scene-label,.scene.is-still .scene-label{background:0 0;grid-row:6}}.spaces{min-height:calc(100vh - var(--header-h));border-top:1px solid var(--rule);margin-top:var(--s8);align-items:center;display:grid;position:relative;overflow:hidden}.spaces-grid{column-gap:var(--gutter);row-gap:var(--s6);padding-block:var(--s8);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.spaces-head{z-index:1;gap:var(--s2);grid-column:1/span 4;align-content:start;display:grid;position:relative}.spaces-head h2{font-size:var(--fs-h2)}.space-list{border-top:1px solid var(--rule-strong);grid-column:5/-1;margin:0;padding:0;list-style:none}.space{border-bottom:1px solid var(--rule);display:grid}.space-name,.space-work{z-index:1;position:relative}.space-name{margin:0}.space-name button{all:unset;cursor:pointer;width:100%;padding-block:var(--s3);font-family:var(--font-head);font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:var(--wght-head);letter-spacing:var(--tracking-head);font-stretch:var(--wdth-display);color:var(--ink-3);transition:color var(--dur) var(--ease);display:block}.space-name button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.space.is-on .space-name button,.space-name button:hover{color:var(--ink)}.space-work{padding:0 0 var(--s3);gap:var(--s2) var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;list-style:none;display:grid}.space-work a{gap:.25rem;display:grid}.space-work b{transition:color var(--dur) var(--ease);font-weight:500}.space-work a:hover b{color:var(--accent)}.space-photo{z-index:0;opacity:0;transition:opacity .9s var(--ease);margin:0;position:absolute;inset:0}.space-photo img{object-fit:cover;filter:brightness(.3)saturate(.8);width:100%;height:100%}.space-photo:after{content:"";background:linear-gradient(90deg,#0a0b0d59,#0a0b0db3 45%,#0a0b0dd1);position:absolute;inset:0}.space.is-on .space-photo{opacity:1}html:not(.js) .space-photo{display:none}@media (width<=63.99rem){.spaces-head,.space-list{grid-column:1/-1}.space-work{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=47.99rem){.spaces{min-height:0;display:block}.space-name button{font-size:var(--fs-h2);line-height:var(--lh-h2);padding-block:var(--s2)}.space-photo{aspect-ratio:16/9;margin-bottom:var(--s2);order:1;position:static}.space-name{order:0}.space-work{order:2;grid-template-columns:1fr}html.js .space:not(.is-on) .space-photo{display:none}}.walk-all{min-height:46vh;padding-block:var(--s6);align-items:center;font-size:clamp(2rem,5vw,4.5rem);line-height:1.05}@media (prefers-reduced-motion:no-preference){html.js .case-hero img.reveal{filter:brightness(.2);transition:opacity .9s var(--ease), transform 1.4s var(--ease), filter 1.8s var(--ease) .12s}html.js .case-hero img.reveal.is-in{filter:none}}.case-open{gap:var(--s6) var(--gutter);padding-bottom:var(--s12);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.sheet{border-top:1px solid var(--rule-strong);grid-column:1/span 5;align-self:start;margin:0}.sheet div{gap:var(--s2);border-bottom:1px solid var(--rule);font-size:var(--fs-small);line-height:var(--lh-small);grid-template-columns:6rem minmax(0,1fr);padding-block:.7rem;display:grid}html[lang=zh-Hant] .sheet div{grid-template-columns:4rem minmax(0,1fr)}.sheet dt{padding-top:.15em}.sheet dd{text-wrap:pretty;margin:0}.case-open .case-summary{font-size:var(--fs-lead);line-height:var(--lh-lead);text-wrap:pretty;grid-column:7/-1;padding:0;display:block}.credits .names{grid-column:span 8}.credits .names dl{column-gap:var(--s4);grid-template-columns:repeat(2,max-content minmax(0,1fr))}.next-project{border-top:1px solid var(--rule);background:var(--ground);padding:0;display:block;position:relative;overflow:hidden}.next-project .frame{aspect-ratio:2;background:var(--placeholder);max-height:70vh;display:block}.next-project .frame img{object-fit:cover;width:100%;height:100%}.next-project:after{content:"";pointer-events:none;background:linear-gradient(#0a0b0d00,#0a0b0d1a 45%,#0a0b0dd1);position:absolute;inset:0}.next-project .next-label{z-index:1;color:var(--on-photo);gap:.4rem;padding-bottom:clamp(2rem,6vh,4rem);display:grid;position:absolute;bottom:0;left:0;right:0}.next-project .next-label .meta{color:color-mix(in srgb, var(--on-photo) 70%, transparent)}.next-project .next-title{font-family:var(--font-head);font-size:var(--fs-display);line-height:var(--lh-display);font-weight:var(--wght-head);font-stretch:var(--wdth-display);letter-spacing:var(--tracking-head);transition:color var(--dur) var(--ease)}.next-project:hover .next-title{color:var(--accent)}.next-project:hover .frame img{transform:scale(1.02)}@media (width<=63.99rem){.sheet,.case-open .case-summary,.credits .names{grid-column:1/-1}.credits .names dl{grid-template-columns:max-content minmax(0,1fr)}.next-project .frame{aspect-ratio:4/3}}.start{gap:var(--s6) var(--gutter);padding-bottom:var(--s12);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.start-steps{gap:var(--s4);grid-column:1/span 5;align-content:start;display:grid}.start-form{gap:var(--s4);grid-column:7/-1;align-content:start;display:grid}.start h2{font-size:var(--fs-h2)}.cue-sheet{border-top:1px solid var(--rule-strong);margin:0;padding:0;list-style:none}.cue-sheet li{column-gap:var(--s2);padding-block:var(--s3);border-bottom:1px solid var(--rule);grid-template-rows:auto auto;grid-template-columns:3rem minmax(0,1fr);display:grid}.cue-sheet li .meta{grid-row:1/span 2;padding-top:.35em}.cue-sheet b{font-family:var(--font-head);font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--wght-head)}.cue-sheet p{color:var(--ink-2);font-size:var(--fs-small);line-height:var(--lh-small);text-wrap:pretty;max-width:34ch;margin-top:.35rem}@media (width<=63.99rem){.start-steps,.start-form{grid-column:1/-1}}.wall{padding-block:var(--s8) var(--s12);border-top:1px solid var(--rule)}.wall-line{max-width:var(--max);padding-inline:var(--margin);margin-inline:auto;margin-bottom:var(--s3)}.wall-grid{padding-inline:var(--margin);max-width:var(--max);gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:14vw;margin:0;margin-inline:auto;list-style:none;display:grid}.print{grid-area:span 2/span 4}.print-1{grid-area:span 2/span 5}.print-2{grid-area:span 2/span 3}.print-4,.print-5{grid-area:span 3/span 4}.print-7{grid-area:span 3/span 3}.print img{object-fit:cover;filter:brightness(.42);width:100%;height:100%;transition:filter .7s var(--ease), transform .9s var(--ease)}.print:hover img,.print.is-lit img{filter:none}.print:hover img{transform:scale(1.02)}@media (width<=63.99rem){.wall-grid{grid-auto-rows:22vw}.print,.print-1,.print-2,.print-4,.print-5,.print-7{grid-area:span 2/span 6}}@media (width<=47.99rem){.wall-grid{gap:var(--s2);grid-auto-rows:44vw}.print,.print-1,.print-2,.print-4,.print-5,.print-7{grid-area:span 1/span 6}}.board{min-height:calc(100vh - var(--header-h));border-top:1px solid var(--rule);margin-top:var(--s8);align-items:center;display:grid;position:relative;overflow:hidden}.board-grid{column-gap:var(--gutter);row-gap:var(--s6);padding-block:var(--s8);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.board-head{z-index:1;font-size:var(--fs-h2);grid-column:1/span 3;position:relative}.board-list{border-top:1px solid var(--rule-strong);grid-column:4/-1;margin:0;padding:0;list-style:none}.board-row a{z-index:1;align-items:baseline;column-gap:var(--s2);padding-block:var(--s3);border-bottom:1px solid var(--rule);grid-template-columns:3rem minmax(0,1fr) auto;display:grid;position:relative}.board-title{font-family:var(--font-head);font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:var(--wght-head);letter-spacing:var(--tracking-head);font-stretch:var(--wdth-display);color:var(--ink-3);transition:color var(--dur) var(--ease)}.board-row.is-on .board-title,.board-row a:hover .board-title{color:var(--ink)}.board-place{text-align:right}.board-photo{z-index:0;opacity:0;transition:opacity .9s var(--ease);margin:0;position:absolute;inset:0}.board-photo img{object-fit:cover;filter:brightness(.3)saturate(.8);width:100%;height:100%}.board-photo:after{content:"";background:linear-gradient(90deg,#0a0b0d59,#0a0b0db3 45%,#0a0b0dd1);position:absolute;inset:0}.board-row.is-on .board-photo{opacity:1}@media (width<=63.99rem){.board-head,.board-list{grid-column:1/-1}}@media (width<=47.99rem){.board{min-height:0;display:block}.board-row{display:grid}.board-row a{grid-template-rows:auto auto;grid-template-columns:2.5rem minmax(0,1fr);row-gap:.25rem}.board-row a .meta:first-child{grid-row:1/span 2}.board-title{font-size:var(--fs-h2);line-height:var(--lh-h2)}.board-place{text-align:left}.board-photo{aspect-ratio:16/9;margin-bottom:var(--s2);order:1;position:static}.board-row a{order:0}html.js .board-row:not(.is-on) .board-photo{display:none}}.hero-video{pointer-events:none;opacity:0;transition:opacity 1.2s var(--ease) .4s;position:absolute;inset:0;overflow:hidden}.hero-video.is-playing{opacity:1}.hero-video iframe{border:0;width:max(100%,177.78vh);height:max(100%,56.25vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.b-gallery.wall{display:block}.b-gallery.wall .wall-grid{max-width:none;padding-inline:0}.print figure{grid-template-rows:minmax(0,1fr) auto;height:100%;margin:0;display:grid}.print figcaption{color:var(--ink-3);transition:color var(--dur) var(--ease);padding-top:.5rem}.print:hover figcaption,.print.is-lit figcaption{color:var(--ink-2)}.wall-grid[data-count="2"] .print{grid-area:span 3/span 6}.wall-grid[data-count="3"] .print{grid-area:span 3/span 4}.space-body{gap:var(--s2);padding-bottom:var(--s3);opacity:0;transition:grid-template-rows .65s var(--ease), opacity .45s var(--ease);grid-template-rows:0fr;display:grid}.space-inner{gap:var(--s2);min-height:0;display:grid;overflow:hidden}.space.is-on .space-body{opacity:1;grid-template-rows:1fr}.space-work li{opacity:0;transition:opacity .5s var(--ease), transform .7s var(--ease);transform:translateY(10px)}.space.is-on .space-work li{opacity:1;transition-delay:calc(.12s + var(--i,0) * 70ms);transform:none}html:not(.js) .space-body{opacity:1;grid-template-rows:1fr}html:not(.js) .space-work li{opacity:1;transform:none}.space-tagline{color:var(--ink-2);max-width:44ch}.space-more{font-size:var(--fs-small);justify-self:start}.soon-list ul{margin:var(--s2) 0 0;gap:var(--s2);border-top:1px solid var(--rule-strong);padding:0;list-style:none;display:grid}.soon-list li{gap:var(--s3);padding-top:var(--s2);border-bottom:1px solid var(--rule);padding-bottom:var(--s2);align-items:baseline;display:flex}.soon-list b{font-weight:500}@media (width<=63.99rem){.wall-grid[data-count="2"] .print,.wall-grid[data-count="3"] .print{grid-area:span 2/span 6}}@media (width<=47.99rem){.space-body{order:2}.wall-grid[data-count="2"] .print,.wall-grid[data-count="3"] .print{grid-area:span 1/span 6}}.series{gap:var(--s12);padding-block:var(--s8) var(--s12);border-top:1px solid var(--rule);display:grid}.series-item{column-gap:var(--gutter);row-gap:var(--s6);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.series-head{gap:var(--s2);grid-column:1/span 4;align-content:start;display:grid}.series-head h2{font-size:var(--fs-h1);line-height:var(--lh-h1)}.series-head h2 a{transition:color var(--dur) var(--ease)}.series-head h2 a:hover{color:var(--accent)}.series-head .link{margin-top:var(--s2);justify-self:start}.editions{gap:var(--s4) var(--gutter);grid-column:5/-1;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin:0;padding:0;list-style:none;display:grid}.editions a{gap:.5rem;display:grid}.editions .year{font-family:var(--font-latin);font-size:var(--fs-h2);font-weight:500;line-height:1;font-stretch:var(--wdth-display);font-variant-numeric:tabular-nums;color:var(--ink-3);transition:color var(--dur) var(--ease)}.editions a:hover .year,.editions a:hover b{color:var(--accent)}.editions b{transition:color var(--dur) var(--ease);font-weight:500}.editions .frame{aspect-ratio:3/2}.editions a:hover .frame img{transform:scale(1.02)}@media (width<=63.99rem){.series-head,.editions{grid-column:1/-1}}@media (width<=47.99rem){.editions{grid-template-columns:1fr 1fr}}.hero-plain .display{word-break:keep-all;max-width:none;font-size:clamp(1.625rem,3.4vw,3rem);line-height:1.2}.stages{height:calc(100vh + (var(--states,9) - 1) * 70vh);position:relative}.stages-stage{top:var(--header-h);height:calc(100vh - var(--header-h));height:calc(100svh - var(--header-h));background:var(--ground);position:sticky;overflow:hidden}.stages-grid{column-gap:var(--gutter);row-gap:var(--s3);height:100%;padding-block:var(--s3) var(--s4);grid-template-rows:auto minmax(0,1fr);grid-template-columns:repeat(12,minmax(0,1fr));display:grid;position:relative}.stages-marks{pointer-events:none;visibility:hidden;grid-auto-rows:1fr;display:grid;position:absolute;inset:50vh 0}.stages [data-from]{opacity:0;transition:opacity .7s var(--ease)}.stages [data-from].is-on{opacity:1}.stages-title{place-self:center;gap:var(--s4);text-align:center;max-width:14em;font-size:clamp(2rem,5vw,4.5rem);line-height:1.1;font-stretch:var(--wdth-display);white-space:pre-line;pointer-events:none;grid-area:1/1/span 2/-1;display:grid}.stages-title .count{color:var(--ink-2);font-size:var(--fs-lead);line-height:var(--lh-lead);font-weight:400;font-stretch:100%}.stages-hint{pointer-events:none;grid-area:2/1/auto/-1;place-self:end center}.rail{column-gap:var(--gutter);grid-area:1/1/auto/-1;grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.rail li{border-top:1px solid var(--rule);color:var(--ink-3);transition:color .5s var(--ease), border-color .5s var(--ease);align-content:start;gap:.15rem;padding-top:.6rem;display:grid}.rail b{font-size:var(--fs-small);font-weight:var(--wght-head)}.rail .tool{font-size:var(--fs-meta);letter-spacing:var(--tracking-meta);transition:color .5s var(--ease)}.rail li.is-done{color:var(--ink-2);border-color:var(--rule-strong)}.rail li.is-current{color:var(--ink);border-color:var(--accent)}.rail li.is-done .tool,.rail li.is-current .tool{color:var(--accent)}.room{grid-area:2/5/auto/-1;place-items:center;min-height:0;margin:0;display:grid;container-type:size}.room-box{aspect-ratio:16/9;background:var(--paper);width:min(100cqw,177.778cqh);position:relative;overflow:hidden;container-type:inline-size}.shot{margin:0;position:absolute;inset:0}img.shot{object-fit:cover;width:100%;height:100%;transition:opacity .9s var(--ease), filter .9s var(--ease)}.shot-room{background:var(--ground);font-size:max(.6875rem,1.9cqw);line-height:1.3}.iso{width:100%;height:100%;position:absolute;inset:0}.iso *{fill:none;stroke:var(--ink-2);stroke-width:1px;stroke-linejoin:round;stroke-linecap:round}.iso .wall{fill:var(--paper);stroke:var(--rule-strong)}.iso .floor{fill:#0d0f12;stroke-width:1.5px}.iso .grid{stroke:var(--rule)}.iso .screen{fill:#f4f5f10d}.iso .zone{stroke:var(--ink-3);stroke-dasharray:3 7}.iso .mark,.iso .leader{stroke:var(--ink-3)}.iso text{fill:var(--ink-3);stroke:none;font:500 15px var(--font-latin);letter-spacing:.1em}.iso .kit *{fill:var(--ground);stroke:var(--ink);transition:stroke .6s var(--ease)}.stages:is([data-state="3"],[data-state="4"]) .iso .kit *{stroke:var(--accent)}.iso .hot{stroke:var(--accent);stroke-width:1.75px}.iso .dash{stroke-dasharray:2 7}.iso .draw{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 2s var(--ease) .3s}.iso .is-on .draw{stroke-dashoffset:0}.iso .node{fill:var(--ground);stroke:var(--accent);stroke-width:1.5px}.iso .node-n{fill:var(--accent);letter-spacing:0;font-size:16px}.iso .fan{fill:#edc53114;stroke:#edc53173}.iso .throw{stroke:var(--ink-3);stroke-dasharray:2 7}.iso .pulse{stroke:var(--ink);stroke-width:3.5px;stroke-dasharray:.05 .95;stroke-dashoffset:1.05px;opacity:0}@media (prefers-reduced-motion:no-preference){.iso .is-on .pulse{opacity:1;animation:2.6s linear infinite signal}.iso .is-on .pulse.late{animation-delay:1.3s}}@keyframes signal{0%{stroke-dashoffset:1.05px}to{stroke-dashoffset:.05px}}.callouts{margin:0;padding:0;list-style:none;position:absolute;inset:0}.callout{grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:.7em;max-width:26cqw;display:grid;position:absolute;translate:0 -50%}.callout.up{text-align:center;white-space:nowrap;justify-items:center;translate:-50% -100%}.callout i{color:var(--accent);font-family:var(--font-latin);font-style:normal}.callout b{font-weight:var(--wght-head)}.callout:not(:has(i)){grid-template-columns:minmax(0,1fr)}.callout span{color:var(--ink-2);font-size:.85em}.callout .dot{background:var(--accent);vertical-align:.1em;border-radius:50%;width:.5em;height:.5em;margin-right:.6em;display:inline-block}@media (prefers-reduced-motion:no-preference){.callouts.is-on .dot{animation:1.8s ease-in-out infinite beat;animation-delay:calc(var(--i) * .3s)}}@keyframes beat{0%,to{opacity:1}50%{opacity:.25}}.aside{gap:1.2em;width:24%;display:grid;position:absolute;left:72%}.aside-test{top:7%}.aside-test .dial{place-items:center;width:60%;display:grid;position:relative}.aside-test .dial svg{width:100%;height:auto}.aside-test .dial b{color:var(--accent);font-family:var(--font-head);font-size:3.4cqw;font-weight:var(--wght-head);line-height:1;position:absolute}.aside-test .tick{stroke:var(--ink-3)}.aside-test .run{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 2.8s linear .3s}.aside-test.is-on .run{stroke-dashoffset:0}.aside-test ul{margin:0;padding:0;list-style:none}.aside-test li{border-top:1px solid var(--rule);justify-content:space-between;padding-block:.45em;display:flex}.aside-test li:after{content:"✓";color:var(--accent);opacity:0;transition:opacity .4s var(--ease);transition-delay:calc(var(--i) * .38s + .7s)}.aside-test.is-on li:after{opacity:1}.shot-install{background:var(--ground);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:2fr 1fr;gap:.5cqw;display:grid}.shot-install img{object-fit:cover;width:100%;height:100%;min-height:0}.shot-install img:first-child{grid-row:1/span 2}.stages[data-state="6"] .shot-site{filter:brightness(.75)}.shot-live{background:linear-gradient(90deg,#0a0b0de0 0%,#0a0b0db3 55%,#0a0b0d00 100%);align-content:end;width:58cqw;margin:0;padding:3cqw 22cqw 3cqw 3cqw;font-size:max(.6875rem,2.1cqw);list-style:none;display:grid;position:absolute;inset:0 auto 0 0}.shot-live li{border-top:1px solid var(--rule-strong);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8em;padding-block:.55em;display:grid}.shot-live li:last-child{border-bottom:1px solid var(--rule-strong)}.shot-live b{font-weight:var(--wght-head)}.shot-live span:last-child{color:var(--ink-2);font-size:.85em}.shot-live .dot{background:var(--accent);border-radius:50%;width:.5em;height:.5em}@media (prefers-reduced-motion:no-preference){.shot-live.is-on .dot{animation:1.8s ease-in-out infinite beat;animation-delay:calc(var(--i) * .3s)}}.shot-record{background:var(--ground);outline:1px solid var(--rule);outline-offset:-1px;grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,30cqw) minmax(0,1fr);column-gap:4.5cqw;padding:4cqw 4.2cqw 5.4cqw;font-size:max(.625rem,1.5cqw);line-height:1.35;display:grid}.record-head{gap:.35em;display:grid}.record-head .meta{color:var(--accent);font-size:.85em}.record-head b{font-size:1.25em;font-weight:var(--wght-head)}.record-head .when{color:var(--ink-2);font-variant-numeric:tabular-nums}.record-total{align-items:baseline;gap:.5em;margin:3cqw 0 0;display:flex}.record-total b{font-size:7.8cqw;font-weight:500;line-height:1;font-stretch:var(--wdth-display);letter-spacing:-.02em}.record-total span{color:var(--ink-2);font-size:1.25em}.record-facts{align-self:end;margin:0;padding:0;list-style:none;display:grid}.record-facts li{border-top:1px solid var(--rule);color:var(--ink-2);align-items:baseline;gap:.6em;padding-block:.55em;display:flex}.record-facts b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.25em;font-weight:500}.record-days{text-align:center;grid-area:1/2/-1;grid-template-columns:repeat(10,minmax(0,1fr));align-self:end;margin:0;padding:0;list-style:none;display:grid}.record-days li{justify-items:center;display:grid}.record-days .plot{border-bottom:1px solid var(--rule-strong);flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:calc(31cqw + 2.2em);display:flex}.record-days i{width:min(1.5rem,46%);height:calc(var(--h) * 31cqw);background:var(--ink-3);transform-origin:bottom;border-radius:min(4px,.5cqw) min(4px,.5cqw) 0 0}.record-days .peak i{background:var(--accent)}.record-days .v{color:var(--ink);font-variant-numeric:tabular-nums;opacity:0;transition:opacity var(--dur) var(--ease);margin-bottom:.4em}.record-days .peak .v,.record-days li:hover .v{opacity:1}.record-days .d{color:var(--ink-2);font-variant-numeric:tabular-nums;margin-top:.6em;font-size:.85em}.record-days .w{color:var(--ink-3);font-size:.85em}.shot-record figcaption{color:var(--ink-3);font-size:.85em;position:absolute;bottom:1.8cqw;left:4.2cqw}@media (prefers-reduced-motion:no-preference){.record-days i{transition:transform .7s var(--ease);transform:scaleY(0)}.shot-record.is-on .record-days i{transition-delay:calc(.2s + var(--i) * 50ms);transform:none}}@container (width<=30rem){.record-facts,.record-days .mo{display:none}.aside{gap:.5em}.aside-test{top:3%}.aside-test .dial{width:36%}.aside-test li{padding-block:.15em}}.stage-cues{grid-area:2/1/auto/span 4;align-self:end;min-height:15rem;margin:0;padding:0;list-style:none;position:relative}.stage-cue{padding-top:var(--s2);border-top:1px solid var(--rule-strong);pointer-events:none;gap:.4rem;display:grid;position:absolute;bottom:0;left:0;right:0}.stage-cue b{font-family:var(--font-head);font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--wght-head)}.stage-cue .by{color:var(--accent);font-size:var(--fs-small)}.stage-cue p{color:var(--ink-2);font-size:var(--fs-small);line-height:var(--lh-small);text-wrap:pretty}.stages-label{z-index:1;padding-top:var(--s2);border-top:1px solid var(--rule-strong);grid-area:2/1/auto/span 4;align-self:end;gap:.5rem;display:grid;position:relative}.stages-label:not(.is-on){pointer-events:none}.stages-label h3{font-size:var(--fs-h2)}.stages-label h3 a:hover{color:var(--accent)}.stages-label .link{justify-self:start}html:not(.js) .stages,.stages.is-still{height:auto}html:not(.js) .stages-stage,.stages.is-still .stages-stage{height:auto;position:static}html:not(.js) .stages-grid,.stages.is-still .stages-grid{grid-template-rows:auto auto auto}html:not(.js) .stages [data-from],.stages.is-still [data-from]{opacity:1}html:not(.js) .stages :is(.stages-title,.stages-hint,.shot:not(.shot-sheet)),.stages.is-still :is(.stages-title,.stages-hint,.shot:not(.shot-sheet)){display:none}html:not(.js) .stages .room,.stages.is-still .room{grid-column:3/span 8;height:60vh}html:not(.js) .stage-cues,.stages.is-still .stage-cues{gap:var(--s4) var(--gutter);grid-area:3/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;display:grid}html:not(.js) .stage-cue,.stages.is-still .stage-cue{position:static}html:not(.js) .stages-label,.stages.is-still .stages-label{grid-area:4/1/auto/-1}@media (width<=63.99rem){.stages-grid{row-gap:var(--s2);grid-template-rows:auto minmax(0,1fr) auto}.rail{column-gap:.4rem}.rail b,.rail .tool{display:none}.room{grid-area:2/1/auto/-1}.stage-cues,.stages-label{grid-area:3/1/auto/-1}.stage-cues{min-height:13.5rem}.stage-cue b,.stages-label h3{font-size:var(--fs-h3)}}.evidence{padding-block:var(--section)}.evidence ul{margin:var(--s3) 0 0;padding:0;list-style:none}.evidence li a{align-items:center;gap:var(--s3);padding-block:var(--s2);border-top:1px solid var(--rule);grid-template-columns:9rem minmax(0,1fr) auto;display:grid}.evidence li:last-child a{border-bottom:1px solid var(--rule)}.evidence .thumb{aspect-ratio:16/9;background:var(--placeholder);overflow:hidden}.evidence .thumb img{object-fit:cover;filter:brightness(.6);width:100%;height:100%;transition:filter .6s var(--ease)}.evidence li a:hover .thumb img{filter:none}.evidence h3{font-size:var(--fs-h3);transition:color var(--dur) var(--ease)}.evidence li a:hover h3{color:var(--accent)}.evidence .walk-all{margin-top:var(--s6)}@media (width<=47.99rem){.evidence li a{grid-template-columns:5.5rem minmax(0,1fr)}.evidence li .meta{grid-column:2}}.product{gap:var(--s4) var(--gutter);padding-block:var(--s8);border-top:1px solid var(--rule-strong);scroll-margin-top:var(--header-h);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.product-head{align-content:start;gap:var(--s2);grid-column:1/span 4;display:grid}.product-head .meta{color:var(--accent)}.product-head h2{font-size:var(--fs-h1);line-height:var(--lh-h1)}.product-head .status{color:var(--ink-2);font-size:var(--fs-small)}.product-head .link{justify-self:start}.product-body{gap:var(--s3);grid-column:6/-1;display:grid}.product-body p{color:var(--ink-2);text-wrap:pretty}.product-body p.lead{color:var(--ink)}.product-parts{margin:var(--s2) 0 0;display:grid}.product-parts div{gap:var(--s2);padding-block:var(--s2);border-top:1px solid var(--rule);grid-template-columns:8rem minmax(0,1fr);display:grid}.product-parts dt{font-weight:var(--wght-head)}.product-parts dd{color:var(--ink-2);margin:0}.product-roles{margin-block:var(--s2);gap:var(--s1);display:grid}.product-roles ul{gap:0 var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.product-roles li{padding-block:var(--s2);border-top:1px solid var(--rule-strong);font-family:var(--font-head);font-size:var(--fs-h3);font-weight:var(--wght-head)}.product-roles .note{font-size:var(--fs-small)}.product-functions{margin:var(--s2) 0 0;gap:0 var(--gutter);font-size:var(--fs-small);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.product-functions li{border-top:1px solid var(--rule);padding-block:.6rem}.product-figure{margin:var(--s2) 0 0}.product-figure img{width:100%;height:auto;display:block}.product-figure figcaption{margin-top:.5rem}.product-cases{margin:var(--s2) 0 0;padding:0;list-style:none}.product-cases a{gap:var(--s2);padding-block:var(--s2);border-top:1px solid var(--rule);grid-template-columns:10rem minmax(0,1fr) auto;align-items:baseline;display:grid}.product-cases .where{color:var(--ink-2);font-size:var(--fs-small)}.product-cases b{font-weight:var(--wght-head);transition:color var(--dur) var(--ease)}.product-cases a:hover b{color:var(--accent)}.flow-scroll{margin-block:var(--s6) var(--s8);overflow-x:auto}.flow{gap:var(--s2);min-width:46rem;display:grid}.flow-stages,.flow-track{column-gap:var(--s1);grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.flow-stages li{border-top:1px solid var(--rule-strong);gap:.15rem;padding-top:.6rem;display:grid}.flow-stages b{font-weight:var(--wght-head)}.flow-row{gap:.4rem;display:grid}.flow-track span,.flow-track a{font-size:var(--fs-small);border:1px solid var(--rule-strong);grid-row:1;padding:.7rem .8rem}.flow-track a{border-color:var(--accent);color:var(--accent);transition:background var(--dur) var(--ease), color var(--dur) var(--ease)}.flow-track a:hover{background:var(--accent);color:var(--accent-ink)}.steps{margin:0;padding:0;list-style:none}.steps li{column-gap:var(--gutter);padding-block:var(--s4);border-top:1px solid var(--rule);grid-template-columns:repeat(12,minmax(0,1fr));row-gap:.4rem;display:grid}.steps .n{grid-column:1/span 1}.steps .what{grid-column:2/span 4;align-content:start;gap:.3rem;display:grid}.steps h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}.steps .by{color:var(--accent);font-size:var(--fs-small)}.steps p{color:var(--ink-2);text-wrap:pretty;grid-column:7/-1}.next-page{margin-block:var(--s6) var(--s8);display:block}.walk-all.next-page{min-height:0;padding-block:var(--s4) 0}@media (width<=47.99rem){.product-head,.product-body{grid-column:1/-1}.product-functions,.product-roles ul{grid-template-columns:1fr}.product-parts div,.product-cases a{grid-template-columns:1fr;gap:.3rem}.steps .n,.steps .what,.steps p{grid-column:1/-1}}.site-nav .sub{gap:0;margin:0;padding:0;list-style:none;display:grid}.site-nav .sub a{transition:color var(--dur) var(--ease);gap:.1rem;display:grid}.site-nav .sub span{color:var(--ink-3);font-size:var(--fs-meta);font-weight:400}.site-nav .sub li.sep{border-top:1px solid var(--rule);margin-top:.5rem;padding-top:.5rem}@media (width>=48rem){.site-nav>ul{align-items:center}.site-nav li.has-sub{height:var(--header-h);align-items:center;display:flex;position:relative}.site-nav .sub{background:var(--paper);border:1px solid var(--rule);opacity:0;visibility:hidden;min-width:15rem;transition:opacity .24s var(--ease), transform .32s var(--ease), visibility 0s linear .24s;border-top:0;padding:.5rem 0;position:absolute;top:100%;left:-1.25rem;transform:translateY(-6px)}.site-nav li.has-sub:nth-last-child(-n+2)>.sub{left:auto;right:-1.25rem}.site-nav li.has-sub:hover>.sub,.site-nav li.has-sub:focus-within>.sub{opacity:1;visibility:visible;transition:opacity .24s var(--ease), transform .32s var(--ease), visibility 0s;transform:none}.site-nav .sub a{padding:.6rem 1.25rem}.site-nav .sub a:hover,.site-nav .sub a:focus-visible{color:var(--accent)}}@media (width<=47.99rem){.site-nav{overflow-y:auto}.site-nav .sub{gap:.5rem;margin:.5rem 0 .75rem}.site-nav .sub a{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:0;color:var(--ink-2);align-items:baseline;gap:.6rem;font-weight:400;font-stretch:100%;display:flex}.site-nav .sub span{font-size:var(--fs-small)}}.finale .family+.family{margin-top:var(--s6)}.finale .family.four ul{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=63.99rem){.finale .family.four ul{grid-template-columns:repeat(2,minmax(0,1fr))}}.lines{padding-block:var(--s8)}.lines-intro{word-break:keep-all;max-width:40em;font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--wght-head);text-wrap:balance}.lines-grid{margin-top:var(--s4);gap:var(--gutter);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:2fr 1fr;height:clamp(24rem,58vh,40rem);display:grid}.line{background:var(--placeholder);min-height:0;color:var(--on-photo);align-items:end;display:grid;position:relative;overflow:hidden}.line-custom{grid-row:1/span 2}.line img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease);position:absolute;inset:0}.line:hover img{transform:scale(1.03)}.line:after{content:"";background:linear-gradient(#0a0b0d0d 0%,#0a0b0d8c 55%,#0a0b0deb 100%);position:absolute;inset:0}.line-text{z-index:1;padding:var(--s3);gap:.35rem;display:grid;position:relative}.line-text .meta{color:var(--accent)}.line-text b{font-family:var(--font-head);font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--wght-head);transition:color var(--dur) var(--ease)}.line-custom .line-text b{font-size:var(--fs-h1);line-height:var(--lh-h1)}.line:hover .line-text b{color:var(--accent)}.line-text .short{max-width:34em;color:var(--ink-2);font-size:var(--fs-small);text-wrap:pretty}@media (width<=47.99rem){.lines-grid{grid-template-rows:none;grid-template-columns:1fr;height:auto}.line{aspect-ratio:4/3}.line-custom{grid-row:auto}}.line-text .roles{gap:.2rem var(--s3);font-family:var(--font-head);font-size:var(--fs-lead);font-weight:var(--wght-head);flex-wrap:wrap;margin-top:.2rem;display:flex}.line-text .places{color:var(--ink-2);font-size:var(--fs-small);margin-top:.35rem}.proof{padding-bottom:var(--s8)}.proof .facts{margin-top:0}@media (width>=64rem){.proof .facts{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}}@media (width<=63.99rem){.proof .facts div:last-child:nth-child(odd){grid-column:1/-1}}.proof .clients{margin-top:var(--s8)}.proof .for-whom{margin-top:var(--s8);gap:var(--s3);display:grid}.for-whom ul{gap:var(--s4) var(--gutter);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.for-whom a{padding-top:var(--s2);border-top:1px solid var(--rule);align-content:start;gap:.4rem;display:grid}.for-whom b{font-family:var(--font-head);font-size:clamp(1.375rem,2vw,1.75rem);line-height:1.25;font-weight:var(--wght-head);text-wrap:balance;transition:color var(--dur) var(--ease)}.for-whom a:hover b,.for-whom a:focus-visible b{color:var(--accent)}.proof .for-whom+.clients{margin-top:var(--s6)}@media (width<=71.99rem){.for-whom ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=47.99rem){.for-whom ul{gap:var(--s3);grid-template-columns:1fr}}.told{margin:0;padding:0;list-style:none}.told a{gap:var(--s3) var(--gutter);padding-block:var(--s6);border-top:1px solid var(--rule-strong);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;display:grid}.told-photo{aspect-ratio:3/2;background:var(--placeholder);grid-column:1/span 7;overflow:hidden}.told-photo img{object-fit:cover;width:100%;height:100%;transition:transform 1.2s var(--ease);display:block}.told a:hover .told-photo img{transform:scale(1.03)}.told-text{gap:var(--s1);padding-bottom:var(--s1);grid-column:8/-1;align-content:end;display:grid}.told .for{color:var(--accent);font-size:var(--fs-small)}.told h2{font-size:var(--fs-h2);line-height:var(--lh-h2);text-wrap:balance;transition:color var(--dur) var(--ease)}.told a:hover h2,.told a:focus-visible h2{color:var(--accent)}.told .did{margin-top:var(--s1);color:var(--ink-2);font-size:var(--fs-small);text-wrap:pretty}.told .meta{margin-top:var(--s2)}.ledger{padding-block:var(--s8) var(--section);gap:var(--s3);border-top:1px solid var(--rule-strong);display:grid}.ledger ul{margin:0;padding:0;list-style:none}.ledger a{gap:var(--gutter);border-top:1px solid var(--rule);grid-template-columns:minmax(0,5fr) minmax(0,6fr) 3rem;align-items:baseline;padding-block:.7rem;display:grid}.ledger .name{font-family:var(--font-head);font-weight:var(--wght-head);transition:color var(--dur) var(--ease)}.ledger a:hover .name,.ledger a:focus-visible .name{color:var(--accent)}.ledger .did{color:var(--ink-2);font-size:var(--fs-small)}.ledger .year{color:var(--ink-3);font-size:var(--fs-small);font-variant-numeric:tabular-nums;text-align:right}@media (width<=47.99rem){.told a{padding-block:var(--s4)}.told-photo,.told-text{grid-column:1/-1}.ledger a{gap:.15rem var(--s2);grid-template-columns:minmax(0,1fr) 3rem}.ledger .did{grid-area:2/1/auto/-1}}.hero .plate-phone{display:none}@media (width<=47.99rem){.hero[data-plates] .plate:not(.plate-phone){display:none}.hero[data-plates] .plate.plate-phone{opacity:1;animation:none;display:block}.hero[data-plates] .plate.plate-phone img{animation:none}}.start-send{max-width:28em;margin-bottom:var(--s3);text-wrap:pretty}.cue-sheet.seven li{padding-block:.7rem}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.site-main{min-height:60vh}
