:root{--color-offwhite: oklch(.968 .006 75);--color-cream: oklch(.918 .011 77);--color-nearblack: oklch(.14 0 0);--color-charcoal: oklch(.2 0 0);--color-accent-blue: oklch(.804 .146 220);--color-accent-red: oklch(.656 .235 13);--color-accent-cyan: oklch(.86 .15 195);--color-accent-yellow: oklch(.85 .17 85);--project-text: oklch(.959 .003 165);--project-bg: oklch(.08 0 0);--project-bg-credits: oklch(.134 0 0);--project-text-highlight: oklch(1 0 0);--ff-display: "ivypresto-display", Georgia, serif;--ff-body: "aktiv-grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-hero: clamp(3rem, 8vw, 6rem);--text-hero-fixed: clamp(1.25rem, 3.2vw, 2.25rem);--text-subtitle: clamp(.875rem, 2vw, 1.125rem);--text-section-title: clamp(2rem, 4vw, 3rem);--text-card-title: clamp(1.5rem, 3vw, 2.5rem);--text-cta: clamp(1.75rem, 3vw, 2.5rem);--text-tagline: clamp(1.25rem, 2.5vw, 1.75rem);--text-marquee: clamp(.7rem, 1.2vw, .9rem);--text-project-credits-title: clamp(2.5rem, 6.32vw, 5.6875rem);--text-project-credits-year: clamp(1.75rem, 4.17vw, 3.75rem);--text-project-about: clamp(1.375rem, 2.78vw, 2.5rem);--text-project-hero-title: clamp(1.5rem, 3.47vw, 3.125rem);--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--ease-out-quint: cubic-bezier(.22, 1, .36, 1);--ease-in-out-circ: cubic-bezier(.85, 0, .15, 1);--dur-instant: .2s;--dur-quick: .4s;--dur-medium: .7s;--dur-slow: 1.2s;--dur-very-slow: 2s;--dur-credits-enter: .6s;--section-padding: clamp(4rem, 10vh, 8rem);--container-padding: clamp(1.5rem, 5vw, 4rem);--grid-columns: 6;--grid-gutter: 20px;--grid-max-width: 1400px;--grid-edge-offset: max( var(--container-padding), calc((100vw - var(--grid-max-width)) / 2 + var(--container-padding)) )}@media(max-width:768px){:root{--grid-columns: 4}}@media(max-width:480px){:root{--grid-columns: 2;--grid-gutter: 14px;--container-padding: 1.25rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--hero-ui-inset: clamp(1rem, 2vw, 1.5rem);--space-credits-top: clamp(7.5rem, 18.3vw, 16.4375rem);--space-credits-bottom: clamp(5rem, 10.4vw, 9.375rem)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;color:var(--project-text)}body{background:var(--project-bg);color:var(--project-text);font-family:var(--ff-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}a{color:inherit;text-decoration:none}.project-hero__close:focus-visible,.project-hero__play-btn:focus-visible,.project-hero__credits-btn:focus-visible,.project-hero__sound-btn:focus-visible,.project-footer__back-btn:focus-visible,.project-footer__links a:focus-visible{outline:1px solid currentColor;outline-offset:4px}.project-hero--video{position:relative;width:100%;height:100vh;overflow:hidden;background:#000}.project-hero__player,.project-hero__video-container{position:relative;width:100%;height:100%}.project-hero__video-container video{width:100%;height:100%;object-fit:cover;display:block}.project-hero__close{position:absolute;top:20px;right:var(--hero-ui-inset);z-index:10;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;opacity:.8;transform-origin:center;transition:opacity var(--dur-instant) var(--ease-out-expo),transform var(--dur-instant) var(--ease-out-expo)}.project-hero__close:hover{opacity:1}.project-hero__bottom{position:absolute;bottom:0;left:var(--hero-ui-inset);right:var(--hero-ui-inset);padding-bottom:46px;z-index:5}.project-hero__info{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.project-hero__info-left{display:flex;align-items:center;gap:14px}.project-hero__info-left span{font-size:var(--text-project-hero-title);font-weight:500;font-family:var(--ff-body);line-height:1.1}.project-hero__play-btn{display:inline-grid;place-items:center;min-width:1.75rem;min-height:1.75rem;font-size:18px;opacity:.9;transform-origin:center;transition:opacity var(--dur-instant) var(--ease-out-expo),transform var(--dur-instant) var(--ease-out-expo);padding:4px}.project-hero__play-icon{grid-area:1 / 1;transition:opacity var(--dur-instant) var(--ease-out-expo),transform var(--dur-instant) var(--ease-out-expo)}.project-hero__play-icon--pause,.project-hero__play-btn.is-playing .project-hero__play-icon--play{opacity:0;transform:scale(.85)}.project-hero__play-btn.is-playing .project-hero__play-icon--pause{opacity:1;transform:scale(1)}.project-hero__play-btn:hover{opacity:1}.project-hero__credits-btn{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;opacity:.8;transform-origin:center;transition:opacity var(--dur-instant) var(--ease-out-expo),transform var(--dur-instant) var(--ease-out-expo)}.project-hero__credits-btn:hover{opacity:1}.project-hero__timeline{position:relative;width:100%;height:2px;background:#f0f2f140;margin-bottom:12px;cursor:pointer}.project-hero__timeline:before{content:"";position:absolute;inset:-10px 0}.project-hero__timeline-progress{position:absolute;top:0;left:0;height:100%;width:0%;background:var(--project-text);transition:width .1s linear}.project-hero__time{display:flex;justify-content:space-between;font-size:1rem;font-variant-numeric:tabular-nums;opacity:.7}.project-hero__sound-btn{position:absolute;bottom:80px;right:var(--hero-ui-inset);z-index:10;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;opacity:.8;transform-origin:center;transition:opacity var(--dur-instant) var(--ease-out-expo),transform var(--dur-instant) var(--ease-out-expo)}.project-hero__sound-btn:hover{opacity:1}.project-credits{position:relative;background:var(--project-bg-credits);min-height:100vh}.project-credits__gradient{position:absolute;top:-270px;left:0;right:0;height:270px;background:linear-gradient(to top,var(--project-bg-credits),transparent);pointer-events:none;z-index:2}.project-credits__wrapper{display:grid;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));gap:0 var(--grid-gutter);max-width:var(--grid-max-width);margin:0 auto;padding:var(--space-credits-top) var(--container-padding) var(--space-credits-bottom)}.project-credits__text{grid-column:1 / 5;min-width:0}.project-credits__header{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.project-credits__title{font-family:var(--ff-body);font-size:var(--text-project-credits-title);font-weight:500;line-height:1.05}.project-credits__year{font-family:var(--ff-body);font-size:var(--text-project-credits-year);font-weight:300;opacity:.8}.project-credits__line{width:100%;height:1px;background:var(--project-text);margin:55px 0 53px}.project-credits__subtitle{font-size:.875rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:24px;opacity:.7}.project-credits__about{font-size:var(--text-project-about);line-height:1.2;font-weight:300}.project-credits__network{display:flex;align-items:center;width:min(16rem,55vw);height:60px;margin-bottom:40px}.project-credits__network img{width:100%;height:100%;object-fit:contain;object-position:left center;display:block;filter:brightness(0) invert(1)}.project-credits__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:40px 32px;align-items:start}.project-credits__item-title{font-size:1rem;opacity:.6;margin-bottom:4px;width:fit-content}.project-credits__item-text{font-size:1rem;font-weight:500;white-space:pre-line;color:#f0f2f1cc}.project-credits__item--highlight .project-credits__item-text{color:var(--project-text-highlight)}.project-credits__image{grid-column:5 / 7}.project-credits__image img{width:100%;aspect-ratio:3 / 4;object-fit:cover;display:block}.project-footer{display:flex;align-items:center;justify-content:space-between;padding:40px var(--container-padding);border-top:1px solid oklch(.959 .003 165 / .15);max-width:var(--grid-max-width);margin:0 auto}.project-footer__ticker{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7;transition:opacity var(--dur-instant) var(--ease-out-expo);overflow:hidden;white-space:nowrap;max-width:300px}.project-footer__ticker:hover{opacity:1}.project-footer__ticker-inner{display:inline-block;animation:project-ticker-scroll 12s linear infinite}.project-footer__ticker:hover .project-footer__ticker-inner{animation-play-state:paused}@keyframes project-ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.project-footer__back-btn{font-size:.875rem;text-transform:uppercase;letter-spacing:.06em;padding:10px 24px;border:1px solid oklch(.959 .003 165 / .4);transform-origin:center;transition:border-color var(--dur-instant) var(--ease-out-expo),opacity var(--dur-instant) var(--ease-out-expo),transform var(--dur-instant) var(--ease-out-expo)}.project-footer__back-btn:hover{border-color:var(--project-text)}.project-hero__close:active,.project-hero__play-btn:active,.project-hero__credits-btn:active,.project-hero__sound-btn:active,.project-footer__back-btn:active{transform:scale(.97)}.project-footer__links{display:flex;align-items:center;gap:16px;font-size:.875rem}.project-footer__links a{position:relative;display:inline-flex;color:#f0f2f199;transition:color var(--dur-instant) var(--ease-out-expo)}.project-footer__links a:after{content:"";position:absolute;left:0;bottom:-.45rem;width:100%;height:1px;background:currentColor;opacity:0;transform:scaleX(.4);transform-origin:left;transition:opacity var(--dur-instant) var(--ease-out-expo),transform var(--dur-instant) var(--ease-out-expo)}.project-footer__links a:hover{color:var(--project-text)}.project-footer__links a:hover:after{opacity:.8;transform:scaleX(1)}@media(max-width:1024px){.project-credits__network{width:min(12rem,55vw);height:44px}}@media(max-width:768px){.project-hero__bottom{padding-bottom:32px}.project-hero__sound-btn{bottom:56px}.project-credits__network{width:min(9.75rem,60vw);height:36px}.project-credits__wrapper{row-gap:40px}.project-credits__text,.project-credits__image{grid-column:1 / -1}.project-credits__about{line-height:1.35}.project-credits__line{margin:32px 0 30px}.project-credits__list{grid-template-columns:repeat(2,1fr);gap:24px 16px}.project-footer{flex-direction:column;gap:24px;padding:32px var(--container-padding)}.project-footer__ticker{max-width:100%}.project-footer__links{justify-content:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-footer__ticker-inner{animation:none}}.case-study__hero{position:relative;width:100%;height:100vh;overflow:hidden;background:#000}.case-study__hero-image{position:absolute;inset:0}.case-study__hero-image img{width:100%;height:100%;object-fit:cover;display:block}.case-study__hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:60px var(--container-padding);background:linear-gradient(to top,oklch(0 0 0 / .7) 0%,transparent 100%);z-index:2}.case-study__hero-title{font-family:var(--ff-display);font-size:clamp(2.5rem,6vw,6rem);font-weight:300;line-height:1.05;margin-bottom:12px}.case-study__hero-meta{display:flex;gap:16px;font-size:16px;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.case-study__close{position:absolute;top:77px;right:20px;z-index:10;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;opacity:.8;transition:opacity var(--dur-instant) var(--ease-out-expo)}.case-study__close:hover{opacity:1}.case-study__intro{padding:120px var(--container-padding)}.case-study__intro-text{max-width:900px;margin:0 auto;text-align:center}.case-study__intro-text p{font-family:var(--ff-display);font-size:clamp(1.5rem,3vw,2.5rem);font-weight:300;line-height:1.4;opacity:0}.case-study__pair{padding:0 var(--container-padding);margin-bottom:8px}.case-study__pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:var(--grid-max-width);margin:0 auto}.case-study__pair-item{overflow:hidden}.case-study__pair-item img{width:100%;aspect-ratio:3 / 2;object-fit:cover;display:block;opacity:0}.case-study__statement{position:relative;height:80vh;overflow:hidden;margin-bottom:8px}.case-study__statement-image{position:absolute;inset:-10% 0}.case-study__statement-image img{width:100%;height:100%;object-fit:cover;display:block;opacity:0}.case-study__triptych{padding:0 var(--container-padding);margin-bottom:8px}.case-study__triptych-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:var(--grid-max-width);margin:0 auto}.case-study__triptych-item{overflow:hidden}.case-study__triptych-item img{width:100%;aspect-ratio:2 / 3;object-fit:cover;display:block;clip-path:inset(100% 0 0 0)}.case-study__asymmetric{padding:0 var(--container-padding);margin-bottom:8px}.case-study__asymmetric-grid{display:grid;grid-template-columns:2fr 1fr;gap:8px;max-width:var(--grid-max-width);margin:0 auto}.case-study__asymmetric-item{overflow:hidden}.case-study__asymmetric-item--dominant img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block;opacity:0}.case-study__asymmetric-item--accent img{width:100%;aspect-ratio:3 / 4;object-fit:cover;display:block;opacity:0}.case-study__chat-graphic{padding:clamp(4rem,8vh,6rem) 0;margin-bottom:8px}.case-study__chat-frames{position:relative;width:400px;max-width:calc(100vw - 80px);aspect-ratio:4 / 5;margin:0 auto 48px}.case-study__chat-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.case-study__send-strip{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 var(--container-padding);cursor:grab}.case-study__send-strip::-webkit-scrollbar{display:none}.case-study__send-strip.is-dragging{cursor:grabbing}.case-study__send-track{display:flex;flex-wrap:nowrap;gap:8px;width:max-content}.case-study__send-item{height:260px;width:auto;display:block;flex-shrink:0;opacity:0}.case-study__closing{position:relative;height:70vh;overflow:hidden}.case-study__closing-image{position:absolute;inset:0}.case-study__closing-image img{width:100%;height:100%;object-fit:cover;display:block;opacity:0}@media(max-width:768px){.case-study__hero{height:80vh}.case-study__close{top:40px;right:16px}.case-study__chat-frames{max-width:calc(100vw - 32px)}.case-study__send-item{height:180px}.case-study__pair-grid,.case-study__triptych-grid,.case-study__asymmetric-grid{grid-template-columns:1fr}.case-study__statement,.case-study__closing{height:50vh}}@media(prefers-reduced-motion:reduce){.case-study__intro-text p,.case-study__pair-item img,.case-study__statement-image img,.case-study__asymmetric-item--dominant img,.case-study__asymmetric-item--accent img,.case-study__closing-image img{opacity:1}.case-study__triptych-item img{clip-path:none}.case-study__send-item{opacity:1}}
