.chapter-intro{min-height:100svh;margin-top:calc(-1 * var(--header-clearance));margin-bottom:var(--section-space);flex-direction:column;display:flex}.chapter-intro-strip{order:2;height:1.125rem}.chapter-intro-inner{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--grid-gap);row-gap:var(--space-8);padding-block:calc(var(--header-clearance) + var(--space-6)) var(--space-8);flex:1;grid-template-rows:auto minmax(0,1fr);display:grid}.chapter-intro-tag{grid-column:1/-1}.chapter-intro-figure{grid-column:1/span 6;align-self:end;margin-bottom:-.06em}.chapter-intro-copy{align-self:end;gap:var(--space-6);grid-column:7/-1;display:grid}.chapter-intro-copy h1>span{display:block}.chapter-intro-lead{max-width:var(--measure-lead);font-size:var(--type-large);line-height:var(--leading-large);letter-spacing:var(--tracking-large)}.chapter-intro-rows{margin-top:var(--space-4);border-top:1px solid var(--rule)}.chapter-intro-rows li{border-bottom:1px solid var(--rule)}.chapter-intro-rows a{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-block:var(--space-3);font-family:var(--font-pixel);font-size:var(--type-large);line-height:var(--leading-body);letter-spacing:var(--tracking-display);display:flex}.chapter-intro-rows a:hover>span:first-child{text-underline-offset:.15em;text-decoration:underline;text-decoration-thickness:1px}@media (width<64rem){.chapter-intro-inner{padding-bottom:var(--dock-clearance);grid-template-rows:none;align-content:end}.chapter-intro-figure,.chapter-intro-copy{grid-column:1/-1}.chapter-intro-tag{order:-2}.chapter-intro-figure{order:-1;align-self:start;margin-bottom:0}}.case-page{--case-space:calc(var(--section-space) * .45)}.case-page .field.case-colour{background:var(--field-colour)}.case-marble{--us-a:var(--project-color)}.case-colour .pill-label{border-color:var(--canvas);background:var(--canvas);color:var(--ink)}.case-opening{margin-top:calc(-1 * var(--header-clearance));padding-block:calc(var(--header-clearance) + var(--space-8)) calc(var(--space-12) + var(--control-height) / 2)}.case-opening-inner{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--grid-gap);row-gap:var(--space-8);align-items:start;display:grid}.case-opening-tag{grid-column:1/-1}.case-opening-figure{font-size:var(--type-display);grid-column:1/span 3}.case-opening .case-title{font-size:var(--type-display);font-weight:400;line-height:var(--leading-body);letter-spacing:0;text-wrap:balance;grid-column:4/-1}.case-opening .case-title>span{display:block}.case-intro{max-width:40rem;font-size:var(--type-text);line-height:var(--leading-text);grid-column:4/span 5}.case-opening-side{gap:var(--space-4);grid-column:9/-1;display:grid}.case-facts{border-top:1px solid var(--rule)}.case-facts>div{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-block:var(--space-2);border-bottom:1px solid var(--rule);display:flex}.case-facts dt{font-family:var(--font-mono);font-size:var(--type-text);text-transform:uppercase;flex:none}.case-facts dd{font-size:var(--type-text);line-height:var(--leading-ui);text-align:end}.case-actions{gap:var(--space-4);flex-wrap:wrap;display:flex}@media (width<64rem){.case-opening{padding-bottom:calc(var(--space-8) + var(--control-height) / 2)}.case-opening-inner{row-gap:var(--space-6)}.case-opening-figure,.case-opening .case-title,.case-intro,.case-opening-side{grid-column:1/-1}.case-opening-figure{font-size:var(--type-display)}}.case-sections{margin-block:calc(-1 * (var(--control-height) / 2 + var(--space-1))) 0}.case-sections .case-back{gap:var(--space-2)}.case-sections svg{width:1rem;height:1rem}.case-sections .case-step-link{padding-inline:var(--space-2)}.case-sections .case-step-link:first-of-type{margin-left:var(--space-2)}.case-reveal{isolation:isolate;padding-block:var(--space-8);place-items:center;display:grid;position:relative}.case-reveal-field{z-index:-1;position:absolute;inset:0}.case-reveal-frame{width:min(100% - 2 * var(--gutter), var(--content-max));border-radius:var(--radius-panel);background:var(--surface-raised);position:relative;overflow:hidden}.case-reveal-frame :is(img,video){object-fit:cover;width:100%;height:auto;max-height:78svh;display:block}.case-reveal--app .case-reveal-frame{width:min(100% - 2 * var(--gutter), 64rem)}.case-reveal-frame{width:min(100% - 2 * var(--gutter), 76rem)}.case-reveal-domain{left:var(--space-4);bottom:var(--space-4);align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--notch);color:var(--on-notch);font-family:var(--font-mono);font-size:var(--type-text);display:inline-flex;position:absolute}.case-reveal-domain>span{background:var(--lime);border-radius:50%;width:.5rem;height:.5rem}.case-pair{gap:var(--space-8) var(--grid-gap);margin-top:var(--case-space);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-chapter--half{align-content:start;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--rule);margin-top:0;display:grid}.case-chapter--half .case-chapter-head,.case-chapter--half .case-chapter-text{grid-column:auto;padding-top:0}@media (width<64rem){.case-pair{grid-template-columns:minmax(0,1fr)}}.case-step-group{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--grid-gap);margin-top:var(--space-12);display:grid}.case-step-cards{gap:var(--space-6) var(--grid-gap);grid-column:4/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.case-step-cards>.case-step{align-content:start;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr);margin:0;display:grid}.case-step-cards .case-step-number{grid-column:auto}.case-step-cards h3{font-size:var(--type-text);line-height:var(--leading-ui);letter-spacing:var(--tracking-text)}.case-step-cards p{color:var(--ink-muted);font-size:var(--type-text);line-height:var(--leading-text)}@media (width<64rem){.case-step-cards{grid-column:1/-1}}.case-chapter{margin-top:var(--case-space)}.case-stage{padding-block:var(--space-8) var(--case-space);background:var(--canvas);color:var(--ink)}.case-chapter-story{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--grid-gap);row-gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--rule);display:grid}.case-chapter-head{align-self:start;align-items:baseline;gap:var(--space-3);padding-top:var(--space-2);font-family:var(--font-mono);font-size:var(--type-text);line-height:var(--leading-ui);letter-spacing:var(--tracking-ui);text-transform:uppercase;grid-column:1/span 3;display:flex}.case-chapter-number{color:var(--accent-text)}.case-chapter-head h2{font:inherit;letter-spacing:inherit}.case-chapter-text{gap:var(--space-4);padding-top:var(--space-2);grid-column:4/span 8;display:grid}.case-chapter-text p{font-size:var(--type-text);line-height:var(--leading-ui);letter-spacing:normal;max-width:var(--measure-text)}.case-chapter-text ul{border-top:1px solid var(--rule);max-width:44rem}.case-chapter-text li{padding-block:var(--space-3);border-bottom:1px solid var(--rule);font-size:var(--type-text);line-height:var(--leading-ui)}.case-step{margin-top:var(--space-16)}.case-step-head{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--grid-gap);row-gap:var(--space-2);align-items:baseline;display:grid}.case-step-number{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--type-text);letter-spacing:var(--tracking-ui);grid-column:1/span 3}.case-step-head h3{font-size:var(--type-text);line-height:var(--leading-ui);letter-spacing:var(--tracking-text);grid-column:4/span 6}.case-step-head p{color:var(--ink-muted);font-size:var(--type-text);line-height:var(--leading-text);grid-column:4/span 6;max-width:40rem}.case-media{margin-top:0}.case-compose{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--grid-gap);row-gap:var(--space-4);margin-top:var(--space-12);align-items:center;display:grid}.case-compose-copy{gap:var(--space-2);grid-area:1/1/auto/span 4;align-content:center;max-width:26rem;display:grid}.case-compose-media{grid-area:1/5/auto/-1;min-width:0}.case-compose--right .case-compose-copy{grid-column:9/-1}.case-compose--right .case-compose-media{grid-column:1/span 8}.case-compose--solo .case-compose-media{grid-column:4/span 8}.case-compose-copy .case-step-number{grid-column:auto}.case-compose-copy h3{font-size:var(--type-text);line-height:var(--leading-ui);letter-spacing:var(--tracking-text)}.case-compose-copy p{color:var(--ink-muted);font-size:var(--type-text);line-height:var(--leading-text)}.case-step-group+.case-step .case-compose,.case-chapter-story+.case-step .case-compose{margin-top:var(--space-8)}@media (width<64rem){.case-compose{margin-top:var(--space-8)}.case-compose .case-compose-copy,.case-compose .case-compose-media{grid-area:auto/1/auto/-1;max-width:none}}.case-media--wide,.case-media--stack{gap:var(--grid-gap);display:grid}.case-media--inset{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--grid-gap);display:grid}.case-media--inset>.case-figure{grid-column:4/-1}.case-media--pair{gap:var(--grid-gap);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.case-media--trio{gap:var(--grid-gap);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}.case-media--collage{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--grid-gap);row-gap:var(--space-12);align-items:start;display:grid}.case-media--collage>:nth-child(3n+1){grid-column:1/span 7}.case-media--collage>:nth-child(3n+2){margin-top:calc(var(--space-16) * 1.5);grid-column:9/-1}.case-media--collage>:nth-child(3n+3){grid-column:4/span 6}.case-media--phones{justify-content:center;gap:var(--space-12);padding-block:var(--space-8);border-radius:var(--radius-panel);background:var(--surface);display:flex}.case-figure{position:relative}.case-zoom{cursor:zoom-in;border-radius:var(--radius-tile);background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.case-zoom:focus-visible{outline-offset:4px}.case-figure img{border-radius:var(--radius-tile);background:var(--surface-raised);width:100%;height:auto;transition:filter var(--motion-ui) var(--ease-ui);display:block}.case-zoom:hover img{filter:brightness(1.04)}.case-gallery-motion video{object-fit:cover;border-radius:var(--radius-tile);opacity:0;width:100%;height:100%;transition:opacity var(--motion-reveal) var(--ease-ui);pointer-events:none;position:absolute;inset:0}.case-gallery-motion video[data-playing]{opacity:1}@media (prefers-reduced-motion:reduce){.case-gallery-motion video{display:none}}.case-phone{width:min(17rem,40%)}.case-phone .case-zoom,.case-phone img{border-radius:2.25rem}.case-phone .case-zoom{background:var(--charcoal);padding:.5rem}.case-phone img{border-radius:1.75rem}.case-carousel-controls{justify-content:flex-end;gap:var(--space-2);display:flex}.case-carousel-button{width:var(--control-height);height:var(--control-height);border:1px solid var(--rule);color:var(--ink);transition:var(--transition-control);border-radius:50%;place-items:center;display:grid}.case-carousel-button svg{width:1.125rem;height:1.125rem}.case-carousel-button:hover:not(:disabled){border-color:var(--ink);background:var(--action-fill) 0 0 / 200% 200%;color:var(--on-action-fill)}.case-carousel-button:disabled{opacity:.35;cursor:default}.case-carousel-track{--edge:0px;gap:var(--grid-gap);margin-top:var(--space-4);padding-inline:var(--edge);padding-bottom:var(--space-3);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--edge);scrollbar-width:none;display:flex;overflow-x:auto}.case-carousel-track::-webkit-scrollbar{display:none}.case-carousel-track:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.case-carousel-track>li{height:min(28rem,56svh);aspect-ratio:var(--ratio);scroll-snap-align:start;flex:none}.case-carousel-track .case-figure,.case-carousel-track .case-zoom,.case-carousel-track .case-figure img{height:100%}.case-carousel-track .case-figure img{object-fit:cover;width:100%}.case-live{border:1px solid var(--rule);border-radius:var(--radius-panel);background:var(--surface);overflow:hidden}.case-live-bar{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);font-size:var(--type-text);grid-template-columns:auto minmax(0,1fr) auto auto;display:grid}.case-live-dots{gap:.375rem;display:flex}.case-live-dots i{background:var(--rule);opacity:.5;border-radius:50%;width:.625rem;height:.625rem}.case-live-address{padding:var(--space-1) var(--space-4);border-radius:var(--radius-pill);background:var(--canvas);color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--type-text);justify-self:center}.case-live-devices{gap:var(--space-1);border-radius:var(--radius-pill);background:var(--canvas);padding:.25rem;display:flex}.case-live-devices button{min-height:2rem;padding-inline:var(--space-3);border-radius:var(--radius-pill);color:var(--ink-muted)}.case-live-devices [aria-pressed=true]{background:var(--ink);color:var(--canvas)}.case-live-open{align-items:center;gap:var(--space-2);display:inline-flex}.case-live-open svg{width:1rem;height:1rem}.case-live-screen{aspect-ratio:16/10;background:var(--canvas);place-items:center;display:grid;position:relative}.case-live-poster{object-fit:cover;filter:brightness(.55)saturate(.9);width:100%;height:100%;position:absolute;inset:0}.case-live-start{position:relative}.case-live-screen iframe{background:var(--paper);width:100%;height:100%;transition:width var(--motion-ui) var(--ease-ui);border:0}.case-live[data-device=mobile] .case-live-screen iframe{border-inline:1px solid var(--rule);width:24.375rem;max-width:100%}.case-live[data-device=mobile] .case-live-screen{aspect-ratio:auto;height:min(44rem,80svh)}.case-live-note{margin-top:var(--space-3);color:var(--ink-muted);font-size:var(--type-text);line-height:var(--leading-ui)}.case-step--text{margin-top:var(--space-8)}.case-lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;padding:var(--space-12) var(--space-16);background:color-mix(in srgb, var(--ds-ink) 94%, transparent);color:var(--ds-paper);border:0;margin:0}.case-lightbox::backdrop{background:0 0}.case-lightbox[open]{place-items:center;display:grid}.case-lightbox-figure{justify-items:center;gap:var(--space-3);max-width:100%;max-height:100%;display:grid}.case-lightbox-media :is(img,video){border-radius:var(--radius-tile);width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 10rem);display:block}.case-lightbox figcaption{text-align:center;max-width:48rem;color:color-mix(in srgb, var(--ds-paper) 75%, var(--ds-ink));font-size:var(--type-text);line-height:var(--leading-ui)}.case-lightbox-count{top:var(--space-4);left:var(--space-4);font-family:var(--font-mono);font-size:var(--type-text);position:absolute}.case-lightbox-button{width:var(--control-height);height:var(--control-height);border:1px solid color-mix(in srgb, var(--ds-paper) 40%, transparent);color:var(--ds-paper);font-size:var(--type-large);letter-spacing:var(--tracking-large);line-height:var(--leading-crop);border-radius:50%;place-items:center;display:grid;position:absolute}.case-lightbox-button:hover{background:var(--ds-paper);color:var(--ds-ink)}.case-lightbox-button svg{width:1.125rem;height:1.125rem}.case-lightbox-close{top:var(--space-4);right:var(--space-4)}.case-lightbox-prev{left:var(--space-4);top:50%;translate:0 -50%}.case-lightbox-next{right:var(--space-4);top:50%;translate:0 -50%}@media (width<64rem){.case-chapter-head{grid-column:1/-1}.case-chapter-text{grid-column:1/-1;padding-top:0}.case-media--collage{row-gap:var(--space-6)}.case-media--collage>:nth-child(n){grid-column:1/-1;margin-top:0}.case-media--collage>:nth-child(3n+2){grid-column:3/-1}.case-step{margin-top:var(--space-12)}.case-step-number,.case-step-head :is(h3,p){grid-column:1/-1}.case-media--pair,.case-media--trio{grid-template-columns:minmax(0,1fr)}.case-media--inset>.case-figure{grid-column:1/-1}.case-media--collage{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--grid-gap);row-gap:var(--space-12);align-items:start;display:grid}.case-media--collage>:nth-child(3n+1){grid-column:1/span 7}.case-media--collage>:nth-child(3n+2){margin-top:calc(var(--space-16) * 1.5);grid-column:9/-1}.case-media--collage>:nth-child(3n+3){grid-column:4/span 6}.case-media--phones{gap:var(--space-4);padding:var(--space-6) var(--space-4)}.case-phone{width:46%}.case-carousel-track>li{height:min(26rem,60svh)}.case-live-bar{grid-template-columns:minmax(0,1fr) auto}.case-live-dots,.case-live-open{display:none}.case-live-address{justify-self:start}.case-lightbox{padding:var(--space-16) var(--space-4)}.case-lightbox-prev,.case-lightbox-next{top:auto;bottom:var(--space-4);translate:none}}.case-credits{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--grid-gap);margin-top:var(--case-space);padding-top:var(--space-3);border-top:1px solid var(--rule);display:grid}.case-credits-title{color:var(--ink-muted);grid-column:1/span 3}.case-credits-cta{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--rule);font-size:var(--type-text);line-height:var(--leading-ui);letter-spacing:var(--tracking-text);flex-wrap:wrap;grid-column:4/-1;display:flex}.case-credits-list{gap:var(--space-6) var(--grid-gap);grid-column:4/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-credits-list>div{align-content:start;gap:var(--space-1);display:grid}.case-credits-list dt{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--type-text);text-transform:uppercase}.case-credits-list dd{font-size:var(--type-text);line-height:var(--leading-ui)}.case-credits-list dd ul{flex-wrap:wrap;gap:0 .35em;display:flex}.case-stack li:not(:last-child):after{content:","}.case-services ul{gap:var(--space-1);display:grid}.case-services svg{width:1rem;height:1rem}@media (width<64rem){.case-credits{row-gap:var(--space-4)}.case-credits-title,.case-credits-list,.case-credits-cta{grid-column:1/-1}}.case-next.chapter-intro{min-height:0;margin:var(--case-space) 0 0;color:var(--ink)}.case-next-inner{grid-template-columns:repeat(var(--columns), minmax(0, 1fr));column-gap:var(--grid-gap);row-gap:var(--space-6);padding-block:var(--space-8);flex:1;grid-template-rows:auto minmax(0,1fr) auto;display:grid}.case-next .chapter-intro-tag{grid-column:1/-1}.case-next-figure{grid-area:2/1/span 2/span 5;align-self:end;margin-bottom:-.06em}.case-next-media{aspect-ratio:16/9;border-radius:var(--radius-panel);background:var(--surface);grid-area:2/7/auto/-1;align-self:end;position:relative;overflow:hidden}.case-next-media img,.case-next-media video{object-fit:cover;width:100%;height:100%;transition:scale var(--spring-soft);position:absolute;inset:0}.case-next-media video{opacity:0;pointer-events:none;transition:opacity var(--motion-reveal) var(--ease-ui), scale var(--spring-soft)}.case-next-media video[data-playing]{opacity:1}.case-next-name{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--type-large);font-weight:var(--weight-text);line-height:var(--leading-large);letter-spacing:var(--tracking-large);grid-area:3/7/auto/-1;display:inline-flex}.case-next-name svg{width:var(--space-8);height:var(--space-8);transition:translate var(--spring-bounce);flex:none}.case-next-kind{font-family:var(--font-pixel);font-size:var(--type-large);line-height:var(--leading-body);letter-spacing:var(--tracking-display);grid-area:4/7/auto/-1}.case-next:hover .case-next-media :is(img,video){scale:1.03}.case-next:hover .case-next-name svg{translate:var(--space-2) 0}.case-next:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}@media (width<64rem){.case-next-inner{padding-bottom:var(--dock-clearance);grid-template-rows:none}.case-next-figure,.case-next-media,.case-next-name,.case-next-kind{grid-area:auto/1/auto/-1}}@media (prefers-reduced-motion:reduce){.case-next-media video{display:none}.case-next-media :is(img,video),.case-next-name svg{transition:none}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.case-reveal-frame{animation:linear both case-open;animation-timeline:view();animation-range:entry cover 45%}.case-chapter-text>*,.case-compose-copy>*,.case-step-cards>.case-step{animation:linear both case-lift;animation-timeline:view();animation-range:entry entry 90%}.case-media--collage>:nth-child(3n+2){animation:linear both case-float;animation-timeline:view();animation-range:cover}.case-media--wide .case-figure,.case-compose .case-live{animation:linear both case-grow;animation-timeline:view();animation-range:entry cover 35%}.case-next-media img{animation:linear both case-settle;animation-timeline:view();animation-range:entry cover 60%}}}@keyframes case-open{0%{clip-path:inset(6% 8% round var(--radius-panel));scale:.96}to{clip-path:inset(0 round var(--radius-panel));scale:1}}@keyframes case-settle{0%{scale:1.12}to{scale:1}}@keyframes case-lift{0%{opacity:.15;translate:0 2rem}to{opacity:1;translate:0}}@keyframes case-float{0%{translate:0 4rem}to{translate:0 -4rem}}@keyframes case-grow{0%{opacity:.6;scale:.94}to{opacity:1;scale:1}}@media (width<48rem){.case-carousel-controls{display:none}}
