/* A single painted world for belief, selected work and design approach. */
.work-world{position:relative;isolation:isolate;overflow:clip;background:linear-gradient(to bottom,#1b1e14 0px,#1b1e14 var(--world-fade-start,1500px),#808080 var(--world-fade-mid,4500px),#f0f0ee var(--world-fade-end,5500px),#f0f0ee 100%)}
.work-world .manifesto,.work-world .project-world,.work-world .approach{background:transparent;isolation:auto;overflow:visible}
.work-world>.shared-contours{opacity:.5;z-index:-1;pointer-events:none}
/* One uninterrupted plate per rendered row, including spaces between words. */
[data-block-reveal]{position:relative;min-width:0}
.wipe-measure{display:inline-block;white-space:nowrap}
.wipe-line{display:block;position:relative;line-height:inherit}
.wipe-row{position:relative;display:inline-block;max-width:100%;vertical-align:top;line-height:inherit}
.wipe-ink{display:block;white-space:nowrap;line-height:inherit}
.hover-word{display:inline-block;white-space:nowrap}
.wipe-line-cover{position:absolute;inset:-.10em -.14em;background:#abdb23;opacity:0;transform:scaleX(0);transform-origin:right center;z-index:3;pointer-events:none}
.wipe-ready .wipe-ink{opacity:0}
.wipe-ready .wipe-line-cover{opacity:0;transform:scaleX(0)}
.wipe-playing .wipe-line-cover{animation:line-uncover var(--row-duration,1200ms) cubic-bezier(.76,0,.24,1) forwards;animation-delay:var(--row-delay,0ms)}
.wipe-playing .wipe-ink{animation:line-ink-on .01s linear both;animation-delay:calc(var(--row-delay,0ms) + var(--row-duration,1200ms) * .28)}
@keyframes line-uncover{0%{opacity:1;transform:scaleX(0);transform-origin:left center}18%{opacity:1;transform:scaleX(1);transform-origin:left center}28%{opacity:1;transform:scaleX(1);transform-origin:right center}100%{opacity:1;transform:scaleX(0);transform-origin:right center}}
@keyframes line-ink-on{from{opacity:0}to{opacity:1}}
.ct .wipe-row{display:block;width:100%}.ct .wipe-ink{text-align:justify;text-align-last:justify}
.card-eyebrow .wipe-line,.card-caption .wipe-line{line-height:1.4}
.card-caption>span:first-child{flex-shrink:0}
/* Make the design approach a major editorial statement at desktop sizes. */
.approach-statement{font-size:clamp(36px,4.4vw,84px);line-height:1.08;width:88%;max-width:1600px;font-weight:700}
.approach-copy{font-size:clamp(20px,1.45vw,28px);line-height:1.35;margin-top:48px}
.approach-top{align-items:center;line-height:1.3;font-size:14px}
.approach-top>span{display:inline-flex;align-items:center;gap:10px;line-height:1.3}
.approach-top>span:last-child{white-space:nowrap}
.approach-top .lottie-icon{color:#abdb23;width:24px;height:24px;vertical-align:initial;align-self:center}
.process-label{font-size:13px;display:flex;align-items:center;justify-content:center;gap:10px;line-height:1.3}
.process-label .crosshair{display:inline-flex;align-items:center;margin:0;color:#abdb23}
.process-label .lottie-icon{vertical-align:initial}
@media(max-width:900px){.ct .wipe-ink{text-align:left;text-align-last:left}}
@media(max-width:768px){.approach-statement{font-size:8.1vw;width:88%;line-height:1.1}.approach-copy{font-size:20px;width:88%;margin-top:35px}.approach-top{font-size:10.5px;gap:12px}.approach-top>span{gap:5px}.approach-top .lottie-icon{width:20px;height:20px}.process-label{font-size:11px;gap:6px}.process-label .lottie-icon{width:16px;height:16px}}
@media(prefers-reduced-motion:reduce){.wipe-ready .wipe-ink{opacity:1}.wipe-line-cover{display:none}.wipe-playing .wipe-ink{animation:none}}

/* Prevent a first-paint flash before the line layout is initialized. */
.text-reveal-boot [data-block-reveal],.text-reveal-boot .intro-copy p,.text-reveal-boot .approach-copy,.text-reveal-boot .ct>span,.text-reveal-boot .card-eyebrow,.text-reveal-boot .card-caption>span:first-child,.text-reveal-boot .pc .dt{visibility:hidden}
.text-reveal-disabled [data-block-reveal]{visibility:visible!important}
.text-reveal-disabled .wipe-ink{opacity:1!important;animation:none!important}
.text-reveal-disabled .wipe-line-cover{display:none!important}
