.hero{position:relative;isolation:isolate;display:flex;flex-direction:column;height:calc(100svh - var(--header-h));min-height:460px;max-height:1040px;overflow-x:clip;overflow-y:visible;padding-top:clamp(56px,7.5vw,120px);padding-bottom:clamp(20px,3vw,44px)}.hero__head{position:relative;z-index:1;display:grid;flex:none;gap:18px}.hero .hero__gears{inset:calc(var(--header-h) * -1) 0 0 0;-webkit-mask-image:linear-gradient(to left,#000 28%,rgb(0 0 0 / .4) 62%,transparent 88%);mask-image:linear-gradient(to left,#000 28%,rgb(0 0 0 / .4) 62%,transparent 88%)}.hero__title{font-family:var(--font-display);font-size:clamp(1.75rem,(100vw - 2 * var(--page-pad)) / 10.2,4.5rem);font-weight:800;line-height:1;letter-spacing:-.04em}.hero__line{display:block;clip-path:inset(-.25em -1em -.24em -.25em)}.hero__line-inner{display:inline-block}.hero__lede{max-width:24em;color:var(--ink-soft);font-size:clamp(1rem,.95rem + .2vw,1.125rem);font-weight:400;line-height:1.55;text-wrap:balance}.hero__cta{width:100%;margin-top:18px}@media(min-width:640px){.hero__cta{width:auto}}@media(min-width:1100px){.hero__head{--aside-w: 400px;--head-gap: 44px;container-type:inline-size;grid-template-columns:minmax(0,1fr) var(--aside-w);column-gap:var(--head-gap)}.hero__title{font-size:min(5.5rem,(100cqi - var(--aside-w) - var(--head-gap)) / 10.4)}.hero__aside{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:18px}.hero__lede{padding-top:.3em}.hero__cta{margin-top:0}}.rail{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;min-height:0;margin-top:clamp(40px,5.5vw,88px)}.rail__viewport{display:flex;flex:1;min-height:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;container-type:inline-size}.rail__viewport::-webkit-scrollbar{display:none}.rail__track{--rail-inset: max(var(--page-pad), (100cqi - var(--container)) / 2);--card-w: calc((100cqi - 2 * var(--rail-inset)) * .84);display:flex;flex:none;gap:var(--gutter);margin:0;padding:0 var(--rail-inset) 6px;list-style:none}@media(min-width:640px){.rail__track{--card-w: calc((100cqi - 2 * var(--rail-inset) - var(--gutter)) / 2.3)}}@media(min-width:1100px){.rail__track{--card-w: calc((100cqi - 2 * var(--rail-inset) - 3 * var(--gutter)) / 4)}}.rail[data-live] .rail__viewport{overflow:clip;scroll-snap-type:none;touch-action:pan-y}.rail[data-live] .rail__track{padding-right:0;will-change:transform}@media(hover:hover)and (pointer:fine){.rail__viewport{cursor:grab}}.rail[data-dragging] .rail__viewport{cursor:grabbing}.rail[data-dragging] .service-card__link{pointer-events:none}.service-card{display:flex;flex:none;width:var(--card-w);container-type:inline-size;scroll-snap-align:start;scroll-margin-left:var(--rail-inset)}.service-card__link{display:flex;flex-direction:column;width:100%;border-radius:var(--radius-lg);text-decoration:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.service-card__link:focus-visible{outline-offset:4px}.service-card__media{display:block;flex:1;min-height:0}.service-card__media:after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgb(51 49 50 / .4),transparent 45%);opacity:0;transition:opacity .5s var(--ease-out)}.service-card__img{width:100%;height:100%;object-fit:cover;-webkit-user-drag:none}.service-card__go{position:absolute;z-index:1;top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-sm);background:var(--accent);color:var(--white);opacity:0;transform:translate(-10px,10px) scale(.8);transition:opacity .35s,transform .55s var(--ease-out)}.service-card__go-icon{width:20px;height:20px}.service-card__meta{display:flex;flex:none;align-items:baseline;justify-content:space-between;gap:2cqi;padding-top:12px;overflow:hidden;white-space:nowrap}.service-card__title{flex:none;font-family:var(--font-display);font-size:6.4cqi;font-weight:700;line-height:1.1;letter-spacing:-.01em;text-transform:uppercase}.service-card__label{min-width:0;overflow:hidden;color:var(--ink-soft);font-size:4.2cqi;font-weight:400;line-height:1.1;text-overflow:ellipsis}@media(hover:hover){.service-card__link:hover .service-card__img{transform:scale(1.06)}.service-card__link:hover .service-card__media:after{opacity:1}.service-card__link:hover .service-card__go{opacity:1;transform:none}}.service-card__link:focus-visible .service-card__go{opacity:1;transform:none}.rail__controls{display:flex;flex:none;align-items:center;gap:16px;margin-top:20px}@media(min-width:640px){.rail__controls{gap:20px}}.rail[data-static] .rail__controls{display:none}.rail__count{display:flex;flex:none;align-items:baseline;gap:6px;margin:0;font-family:var(--font-display);font-variant-numeric:tabular-nums;line-height:1}.rail__current{font-size:1.375rem;font-weight:700;letter-spacing:-.03em}.rail__total{color:var(--ink-soft);font-size:.8125rem;font-weight:500}.rail__total:before{content:"/ "}.rail__meter{--p: 72px;--lead: 14px;--win: 0px;position:relative;flex:1;min-width:0;height:30px;overflow:hidden;border-radius:4px;cursor:ew-resize;touch-action:pan-y;-webkit-mask-image:linear-gradient(90deg,transparent,var(--ink) var(--lead),var(--ink) 78%,transparent);mask-image:linear-gradient(90deg,transparent,var(--ink) var(--lead),var(--ink) 78%,transparent)}@media(min-width:1100px){.rail__meter{--p: 96px}}.rail__meter:focus-visible{outline-offset:6px}.rail__tape{--tick: rgb(51 49 50 / .24);--label: rgb(94 89 91 / .7);position:absolute;top:0;bottom:0;left:0;width:100%;background:linear-gradient(90deg,var(--tick) 1px,transparent 1px) 0 100% / var(--p) 100% repeat-x,linear-gradient(90deg,var(--tick) 1px,transparent 1px) calc(var(--p) / 2) 100% / var(--p) 12px repeat-x,linear-gradient(90deg,var(--tick) 1px,transparent 1px) 0 100% / calc(var(--p) / 8) 6px repeat-x;will-change:transform}.rail__tape--on{--tick: var(--ink);--label: var(--ink)}.rail__tape i{position:absolute;top:0;padding-left:6px;color:var(--label);font-family:var(--font-display);font-size:.625rem;font-style:normal;font-weight:600;line-height:1;letter-spacing:.04em;font-variant-numeric:tabular-nums}.rail__window{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--lead) - var(--win)) 0 var(--lead))}.rail__needle{position:absolute;top:0;bottom:0;left:var(--lead);width:2px;margin-left:-1px;border-radius:2px;background:var(--accent)}.rail__nav{display:inline-flex;flex:none;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface)}@media(max-width:639px){.rail:not([data-autoplay]) .rail__nav{display:none}}.rail__btn{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink);cursor:pointer;transition:background-color .3s,color .3s}.rail__btn[hidden],.rail__btn--step{display:none}@media(min-width:640px){.rail__btn--step{display:grid}}@media(hover:hover){.rail__btn:hover{background:var(--ink);color:var(--white)}}.rail__icon{grid-area:1 / 1;width:20px;height:20px}.rail__icon--play,.rail[data-paused] .rail__icon--pause{display:none}.rail[data-paused] .rail__icon--play{display:block}@media(min-width:1100px)and (max-height:760px){.hero{padding-top:48px;padding-bottom:18px}.hero__title{font-size:min(4.75rem,(100cqi - var(--aside-w) - var(--head-gap)) / 10.4)}.rail{margin-top:36px}.rail__controls{margin-top:12px}}.statement{padding-block:clamp(8px,2vw,24px) var(--section-y)}.statement__panel{--cut: clamp(104px, 13vw, 190px);padding:clamp(44px,6.5vw,104px) clamp(20px,5vw,80px) clamp(32px,4vw,64px);border-radius:var(--radius-lg);background:var(--surface-2)}.statement__text{max-width:20em;margin-inline:auto;font-family:var(--font-display);font-size:clamp(1.75rem,.95rem + 2.8vw,3.25rem);font-weight:500;line-height:1.16;letter-spacing:-.03em;text-align:center;text-wrap:balance}.statement__media{display:inline-flex;height:.84em;margin-inline:.02em;vertical-align:-.1em}.statement__media--art{width:1.9em;overflow:hidden;border-radius:var(--radius-pill)}.statement__media--art svg{width:100%;height:100%}.statement__media--creative{background:var(--accent)}.statement__media--data{background:var(--ink)}.statement__media--team img{width:.84em;height:.84em;border:.05em solid var(--surface-2);border-radius:var(--radius-pill);object-fit:cover}.statement__media--team img+img{margin-left:-.3em}.statement__nowrap{white-space:nowrap}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.statement__text{view-timeline:--statement block}.statement__word{animation:word-in linear both;animation-timeline:--statement;animation-range:cover var(--a) cover var(--b)}}}@keyframes word-in{0%{opacity:.16}}.work{overflow-x:clip;padding-block:0 var(--section-y)}.work__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 48px}.work__title{font-size:var(--fs-section);font-weight:var(--fw-heading);line-height:1;letter-spacing:-.035em}.work__lede{max-width:27em;margin-top:18px;color:var(--ink-soft);font-size:var(--fs-lede);font-weight:400;line-height:1.55;text-wrap:pretty}.work__all{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-family:var(--font-display);font-size:.875rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.work__all-icon{width:40px;height:40px;padding:11px;border-radius:var(--radius-sm);background:var(--ink);color:var(--white);transition:transform .5s var(--ease-out),background-color .3s}@media(hover:hover){.work__all:hover .work__all-icon{background:var(--accent);transform:rotate(45deg)}}.work__stage{container-type:inline-size;margin-top:clamp(32px,4.5vw,72px)}.work__stack{display:grid;gap:28px;margin:0;padding:0;list-style:none}.case__link{container-type:inline-size;position:relative;display:block;border-radius:var(--radius-lg);text-decoration:none}.case__link:focus-visible{outline-offset:6px}.case__meta{display:grid;gap:6px;max-width:66%;padding-top:16px}.case__year{color:var(--ink-soft);font-size:.8125rem;font-weight:400;letter-spacing:.02em}.case__name{font-family:var(--font-display);font-size:1.1875rem;font-weight:600;line-height:1.15;letter-spacing:-.02em}@media(max-width:699px){.case{position:sticky;top:calc(88px + var(--i) * 16px);padding-bottom:8px;background:linear-gradient(transparent 30px,var(--bg) 30px)}.case .cs{box-shadow:inset 0 0 0 1px var(--cs-line),0 -10px 30px -18px #33313238}}@media(min-width:700px){.work__stack{--w: 36cqi;display:flex;align-items:center;justify-content:flex-end;gap:0}.case{--s: calc(1 - var(--d) * .12);position:relative;z-index:calc(10 - var(--d));flex:none;width:calc(var(--w) * var(--s))}.case+.case{margin-left:calc(var(--w) * var(--s) * -.3)}.case__link:before{content:"";position:absolute;z-index:-1;top:6%;left:2%;width:96%;aspect-ratio:4 / 4.6;border-radius:28px;box-shadow:-12px 8px 24px -14px #3331322e,-36px 24px 64px -34px #3331324d}.case__link{transition:transform .9s cubic-bezier(.16,1,.3,1);will-change:transform}.case .cs__svg{transition:transform .9s cubic-bezier(.16,1,.3,1)}.case:is(:hover,:focus-within) .case__link{transform:translate(-26%,-2.5%)}.case:has(~.case:is(:hover,:focus-within)) .case__link{transform:translate(-26%)}.case:last-child:is(:hover,:focus-within) .case__link{transform:translateY(-3%)}.case:is(:hover,:focus-within) .cs__svg{transform:translateY(-4%)}}@media(min-width:1100px){.work__stack{--w: 33cqi}}@media(prefers-reduced-motion:no-preference){.case:is(:hover,:focus-within) .cs__line{animation:cs-draw 1.2s cubic-bezier(.16,1,.3,1)}}@keyframes cs-draw{0%{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}@supports (animation-timeline: view()){@media(min-width:700px)and (prefers-reduced-motion:no-preference){.case{animation:case-fan both;animation-timing-function:cubic-bezier(.3,.6,.2,1);animation-timeline:view();animation-range:entry 0% cover 45%}}}@keyframes case-fan{0%{translate:calc(var(--d) * 12cqi) calc(var(--d) * 1.2cqi)}}.intro{display:none}.ce-intro .intro{position:fixed;z-index:100;inset:0;display:block;pointer-events:none;animation:intro-done 0s linear 1.75s forwards}.intro__panel{position:absolute;inset:0;display:grid;place-items:center;clip-path:inset(0 0 0 0);background:var(--ink);color:var(--white);animation:intro-lift .62s var(--ease-in-out) .98s forwards}.intro__panel--accent{background:var(--accent);animation-delay:1.08s}.intro__mark{width:clamp(84px,9vw,132px);height:auto;animation:intro-mark-in .7s var(--ease-out) .05s backwards,intro-mark-out .4s var(--ease-in) .92s forwards}.intro__mark .mark-stripes>g{animation:intro-stripe-in .5s var(--ease-out) backwards}.intro__mark .mark-stripes>g:nth-child(1){animation-delay:.36s}.intro__mark .mark-stripes>g:nth-child(2){animation-delay:.46s}.intro__mark .mark-stripes>g:nth-child(3){animation-delay:.56s}@keyframes intro-mark-in{0%{opacity:0;transform:scale(.72) rotate(-90deg)}}@keyframes intro-mark-out{to{opacity:0;transform:translateY(-36px) scale(.94)}}@keyframes intro-stripe-in{0%{opacity:0;transform:translate(-280px,280px)}}@keyframes intro-lift{to{clip-path:inset(0 0 100% 0)}}@keyframes intro-done{to{visibility:hidden}}:root{--enter: 0s}.ce-intro{--enter: 1.02s}@media(prefers-reduced-motion:no-preference){.js .service-card__media{animation:media-in 1.1s var(--ease-out) backwards;animation-delay:calc(var(--enter) + var(--i) * 70ms)}.js .service-card__img{animation:media-settle 1.6s var(--ease-out) backwards;animation-delay:calc(var(--enter) + var(--i) * 70ms)}.js .service-card__meta{animation:fade-up .8s var(--ease-out) backwards;animation-delay:calc(var(--enter) + .22s + var(--i) * 70ms)}.js .rail__clone :is(.service-card__media,.service-card__img,.service-card__meta){animation:none}.js .rail__meter{transform-origin:left center;animation:draw-x 1.1s var(--ease-out) backwards;animation-delay:calc(var(--enter) + .4s)}.js .rail__count,.js .rail__nav{animation:fade-up .8s var(--ease-out) backwards;animation-delay:calc(var(--enter) + .5s)}.js .hero__line-inner{transform-origin:left bottom;animation:line-rise 1.05s var(--ease-out) backwards;animation-delay:calc(var(--enter) + .28s + var(--i) * .1s)}.js .hero__lede{animation:fade-up .9s var(--ease-out) backwards;animation-delay:calc(var(--enter) + .36s)}.js .hero__cta{animation:fade-up .9s var(--ease-out) backwards;animation-delay:calc(var(--enter) + .46s)}.js .site-header__inner>*{animation:fade-down .8s var(--ease-out) backwards;animation-delay:calc(var(--enter) + .42s)}.js .site-header__inner>:nth-child(2){animation-delay:calc(var(--enter) + .5s)}.js .site-header__inner>:nth-child(3){animation-delay:calc(var(--enter) + .58s)}}@keyframes line-rise{0%{transform:translateY(1.1em) rotate(3deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}}@keyframes fade-down{0%{opacity:0;transform:translateY(-14px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}}@keyframes draw-x{0%{transform:scaleX(0)}}@keyframes media-in{0%{clip-path:inset(100% 0 0 0 round var(--radius-lg))}to{clip-path:inset(0 0 0 0 round var(--radius-lg))}}@keyframes media-settle{0%{transform:scale(1.18)}}
