:root{--ease-out:cubic-bezier(.16,1,.3,1);--ease-in-out:cubic-bezier(.76,0,.24,1);--motion-fast:240ms;--motion-reveal:900ms}.hero-line{display:block;overflow:clip;padding-bottom:.12em;margin-bottom:-.12em;color:var(--foreground)}.hero-line-muted{color:#77716a}.hero-line>span{display:block;transform-origin:0 100%}.format-card{position:relative}.format-card:before{content:"";position:absolute;inset:-1px 0 auto;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease-out)}.format-card a,.format-card h3,.format-card>span{transition:color .35s,transform .5s var(--ease-out)}.format-card:focus-within:before{transform:scaleX(1)}.format-card:focus-within a,.format-card:focus-within>span{color:var(--accent)}.reading-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;z-index:60;pointer-events:none}.study-video{object-fit:cover}.project-cursor{position:fixed;left:0;top:0;pointer-events:none;z-index:40}.project-cursor>span{display:grid;place-content:center;width:88px;height:88px;border-radius:50%;background:var(--background);color:var(--foreground);text-align:center;font-size:9px;letter-spacing:.05em;line-height:1.5;opacity:0;transform:translate(-50%,-50%) scale(.4);transition:opacity .18s,transform .4s var(--ease-out)}.project-cursor b{font-size:27px;line-height:1;font-weight:400}.project-cursor[data-visible=true]>span{opacity:1;transform:translate(-50%,-50%) scale(1)}@keyframes page-leave{to{opacity:0;transform:translateY(-8px)}}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}::view-transition-old(root){animation:page-leave .18s ease-out both}::view-transition-new(root){animation:page-enter .42s var(--ease-out) 80ms both}::view-transition-group(root){animation-duration:.5s}::view-transition-image-pair(root){isolation:isolate}::view-transition-new(root),::view-transition-old(root){mix-blend-mode:normal}@supports not (view-transition-name:root){@keyframes page-fade{0%{opacity:0}to{opacity:1}}body{animation:page-fade .42s var(--ease-out)}}@media (hover:hover) and (pointer:fine){.header nav>a:not(.nav-contact){position:relative}.header nav>a:not(.nav-contact):after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .42s var(--ease-out)}.header nav>a:hover:after{transform:scaleX(1);transform-origin:left}.archive-image img,.next-image img,.project-card img{transition:transform 1.1s var(--ease-out),filter .65s}.archive-project:hover img,.next-project-link:hover img,.project-card:hover img{transform:scale(1.045)}.email-link svg,.format-card a svg,.nav-contact svg,.project-meta svg,.service-arrow{transition:transform .5s var(--ease-out),color .3s}.email-link:hover svg,.format-card a:hover svg,.nav-contact:hover svg,.project-card:hover .project-meta svg{transform:translate(4px,-4px)}.service{transition:background .45s,border-color .45s}.service:hover{background:var(--muted);border-color:var(--foreground)}.service:hover .service-arrow{color:var(--accent);transform:translate(5px,-5px) rotate(45deg)}.format-card{transition:background .45s,border-color .45s}.format-card:hover{background:var(--muted);border-color:var(--foreground)}.format-card:hover:before{transform:scaleX(1)}.format-card:hover a,.format-card:hover>span{color:var(--accent)}.format-card:hover h3{transform:translateY(-4px)}.archive-all-button,.form-submit button,.project-cta{transition:background .4s,color .4s,box-shadow .5s var(--ease-out)}.archive-all-button:hover,.project-cta:hover{box-shadow:0 8px 0 -5px var(--accent)}.image-open{transition:opacity .25s,transform .5s var(--ease-out)}.archive-project:hover .image-open{opacity:0;transform:scale(.7)}}@media (prefers-reduced-motion:reduce){.project-cursor,.reading-progress{display:none}*,:after,:before{animation:none!important;transition:none!important}::view-transition-group(root),::view-transition-new(root),::view-transition-old(root){animation:none!important}}@media (hover:none),(pointer:coarse){.project-cursor{display:none}}.editorial-grid{display:grid;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));gap:var(--grid-gutter)}.accent-dot{color:var(--accent)}.text-link{display:inline-flex;align-items:center;gap:var(--space-3);padding-block:var(--space-2);border-bottom:1px solid}.next-project-link svg,.text-link svg{transition:transform .24s ease}.next-project-link:hover svg,.text-link:hover svg{transform:translate(4px,-4px)}.archive-entry{margin-top:var(--section-content-gap);padding-top:var(--space-4);border-top:1px solid var(--border);align-items:center}.archive-entry>span{grid-column:1/span var(--headline-span)}.archive-all-button{grid-column:var(--copy-start) /span var(--copy-span);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--accent);color:white;font-size:20px;transition:background .2s}.archive-all-button:hover{background:var(--foreground)}.archive-all-button svg{transition:transform .2s}.archive-all-button:hover svg{transform:translate(3px,-3px)}.archive,.case-opening{padding-top:var(--space-5)}.case-breadcrumb{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:13px;color:var(--muted-foreground);margin-bottom:var(--space-6)}.case-breadcrumb a:hover{color:var(--foreground);text-decoration:underline}.archive-heading{align-items:end;margin-bottom:var(--space-6)}.archive-heading>.eyebrow,.case-outcome .eyebrow,.case-section-heading>.eyebrow,.case-section>.eyebrow,.case-system .eyebrow{grid-column:1/-1;margin-bottom:var(--space-4)}.archive-heading h1{grid-column:1/span var(--headline-span);font-size:clamp(3.2rem,7.6vw,8rem);font-weight:400;line-height:.96;letter-spacing:-.065em}.archive-heading p{grid-column:var(--copy-start) /span var(--copy-span);font-size:18px;line-height:1.5}.archive-filters{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);border-top:1px solid var(--border);padding-block:var(--space-3);margin-bottom:var(--space-5)}.archive-filters button{padding:12px 18px;border:1px solid var(--border);background:transparent;cursor:pointer;transition:background .2s,color .2s}.archive-filters button:hover,.archive-filters button[aria-pressed=true]{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.archive-filters sup{margin-left:12px;font-size:10px}.archive-filters>span{margin-left:auto;font-size:11px;color:var(--muted-foreground)}.archive-grid{row-gap:var(--space-7)}.archive-project{grid-column:span calc(var(--grid-columns) / 2)}.archive-project:first-child{grid-column:1/-1}.archive-image{position:relative;overflow:hidden;aspect-ratio:var(--image-ratio);background:var(--muted)}.archive-project:first-child .archive-image{aspect-ratio:2/1}.archive-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.archive-project:hover img{transform:scale(1.025)}.image-open{position:absolute;bottom:var(--space-3);right:var(--space-3);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:var(--background);background:var(--foreground)}.archive-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-2)}.archive-title h2{font-weight:400;font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.05em}.archive-project small,.archive-title>span{font-size:11px;color:var(--muted-foreground)}.archive-project p{font-size:17px;line-height:1.5;margin-bottom:var(--space-3)}.archive-note{display:flex;justify-content:space-between;gap:var(--space-5);border-top:1px solid var(--border);margin-top:var(--section-inset);padding-block:var(--space-5) var(--section-inset);align-items:start}.archive-note p{color:var(--muted-foreground);max-width:48ch;line-height:1.5}.case-label{display:flex;justify-content:space-between;gap:var(--space-3);font-size:11px}.case-label>span:last-child{color:var(--muted-foreground)}.case-opening h1{font-size:clamp(3.8rem,12.8vw,12.6rem);letter-spacing:-.075em;font-weight:400;line-height:.98;margin-block:var(--space-4) var(--space-6)}.case-intro{align-items:start;margin-bottom:var(--space-6)}.case-intro>p{grid-column:1/span 6;max-width:22ch;font-size:clamp(1.5rem,2.8vw,2.6rem);letter-spacing:-.04em;line-height:1.15}.case-intro dl{grid-column:8/span 4;display:grid;gap:var(--space-3);margin:0}.case-intro>a{grid-column:12;justify-self:end;align-self:end;color:var(--accent)}.case-page dt{color:var(--muted-foreground);font-size:11px;letter-spacing:.04em;margin-bottom:var(--space-1)}.case-page dd{margin:0;font-size:14px;line-height:1.5}.case-hero{margin:0;overflow:hidden}.case-hero img{width:100%;max-height:900px;aspect-ratio:16/9;object-fit:cover}.case-nav{display:flex;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-3);border-bottom:1px solid var(--border);font-size:12px}.case-nav a:hover{color:var(--accent)}.case-section{margin-block:var(--section-gap);scroll-margin-top:var(--space-5)}.case-outcome h2,.case-section h2,.case-system h2{grid-column:1/span var(--headline-span);font-size:clamp(2.6rem,5vw,5rem);font-weight:400;line-height:1.05;letter-spacing:-.055em;white-space:pre-line}.case-context{grid-column:var(--copy-start) /span var(--copy-span);align-self:end}.case-context p,.case-outcome p,.case-section-heading>p,.case-system p{font-size:18px;line-height:1.55}.case-snapshot{grid-column:1/-1;margin:var(--space-5) 0 0;display:grid;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));gap:var(--grid-gutter);border-top:1px solid var(--border);padding-top:var(--space-3)}.case-snapshot>div{grid-column:span var(--step-span)}.case-snapshot small{display:block;color:var(--muted-foreground);margin-top:var(--space-1)}.case-section-heading{margin-bottom:var(--section-content-gap)}.case-section-heading>p{grid-column:var(--copy-start) /span var(--copy-span);align-self:end}.decision{margin:0}.decision-0{grid-column:span var(--project-large)}.decision-1{grid-column:span var(--project-small);margin-top:var(--space-7)}.decision-image{height:clamp(320px,40vw,610px);overflow:hidden;background:var(--muted)}.decision-image img{width:100%;height:100%;object-fit:cover;transform:scale(1.5)}.case-northline .decision-1 img{transform:scale(2.3);transform-origin:15% 66%}.case-field-form .decision-image img{transform:scale(1.7)}.case-signal-24 .decision-1 img{transform-origin:50% 92%;transform:scale(1.8)}.decision figcaption{padding-top:var(--space-3)}.decision .eyebrow{font-size:11px}.decision h3{font-size:clamp(1.5rem,2.3vw,2.2rem);font-weight:400;letter-spacing:-.04em;margin-block:var(--space-3) var(--space-2)}.decision p{color:var(--muted-foreground);font-size:17px;line-height:1.5;max-width:44ch}.case-system{background:var(--foreground);color:var(--background);padding-block:var(--section-inset)}.case-system p{grid-column:var(--copy-start) /span var(--copy-span);align-self:end;color:#b7b0a6}.system-rules{grid-column:1/-1;display:grid;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));gap:var(--grid-gutter);margin-top:var(--space-5)}.system-rules>div{grid-column:span var(--step-span);border-top:1px solid #514b45;padding-top:var(--space-3)}.system-rules span{display:block;color:var(--accent);font-size:12px;margin-bottom:var(--space-5)}.system-rules strong{font-weight:400;font-size:clamp(1.2rem,2vw,1.8rem);letter-spacing:-.025em}.signature{margin-block:var(--section-inset) var(--section-gap)}.signature-image{overflow:hidden}.signature img{width:100%}.case-field-form .signature-image{aspect-ratio:2/1}.case-field-form .signature img{height:100%;object-fit:cover;object-position:center 60%;transform:scale(1.12)}.case-signal-24 .signature-image{aspect-ratio:2.3/1}.case-signal-24 .signature img{height:100%;object-fit:cover;object-position:50% 30%}.signature figcaption{display:flex;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-2);font-size:10px;color:var(--muted-foreground)}.process-row{padding-block:var(--space-4);border-top:1px solid var(--border);align-items:start}.process-number{color:var(--accent);font-size:12px;grid-column:1}.process-row h3{grid-column:2/span 3;font-size:25px;letter-spacing:-.035em;font-weight:400}.process-row>p{grid-column:5/span 4;font-size:16px;line-height:1.5;color:var(--muted-foreground)}.process-row>div{grid-column:10/span 3}.process-row>div span{display:block;font-size:10px;color:var(--muted-foreground);margin-bottom:var(--space-1)}.process-row strong{font-size:15px;line-height:1.5;font-weight:400}.case-outcome{background:var(--muted);padding-block:var(--section-inset)}.case-outcome p{grid-column:var(--copy-start) /span var(--copy-span);align-self:end}.project-cta{grid-column:1/span 4;margin-top:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--accent);color:white;transition:background .2s}.project-cta:hover{background:var(--foreground)}.next-project{margin-block:var(--section-gap)}.next-label{display:flex;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5)}.next-label,.next-project-link{align-items:center}.next-project-link>div:first-child{grid-column:1/span 5}.next-project-link>div:first-child>span{font-size:11px;color:var(--muted-foreground)}.next-project-link h2{font-size:clamp(3rem,6.4vw,6rem);font-weight:400;letter-spacing:-.065em;line-height:1;margin-block:var(--space-3)}.next-project-link p{color:var(--muted-foreground);line-height:1.5;max-width:30ch}.next-project-link svg{margin-top:var(--space-5);color:var(--accent)}.next-image{grid-column:6/span 7;overflow:hidden;aspect-ratio:8/5}.next-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.next-project-link:hover .next-image img{transform:scale(1.035)}@media (max-width:1199px){.case-intro>p{grid-column:1/span 4}.case-intro dl{grid-column:5/span 3}.case-intro>a{grid-column:8}.process-row h3{grid-column:2/span 3}.process-row>div,.process-row>p{grid-column:5/span 4}.next-project-link>div:first-child{grid-column:1/span 4}.next-image{grid-column:5/span 4}}@media (max-width:639px){.archive,.case-opening{padding-top:var(--space-3)}.case-breadcrumb{margin-bottom:var(--space-5)}.case-label{flex-direction:column;gap:var(--space-1)}.case-opening h1{font-size:clamp(3rem,15vw,6rem);margin-block:var(--space-3) var(--space-4)}.case-intro dl,.case-intro>p{grid-column:1/-1}.case-intro dl{grid-template-columns:1fr 1fr;margin-top:var(--space-2)}.case-intro>a{display:none}.case-hero img{aspect-ratio:4/3}.case-nav{display:grid;grid-template-columns:1fr 1fr;font-size:11px}.archive-filters{gap:var(--space-1)}.archive-filters button{padding:10px 12px;font-size:12px}.archive-filters>span{display:none}.archive-project{grid-column:1/-1}.archive-project:first-child .archive-image{aspect-ratio:var(--image-ratio)}.archive-note{flex-direction:column}.case-context,.case-outcome p,.case-section-heading>p,.case-system p{margin-top:var(--space-2)}.case-snapshot>div,.system-rules>div{grid-column:span 2}.decision-0,.decision-1{grid-column:1/-1}.decision-1{margin-top:var(--space-4)}.decision-image{height:360px}.signature figcaption{flex-direction:column;gap:var(--space-1)}.process-row h3{font-size:23px}.process-row h3,.process-row>div,.process-row>p{grid-column:2/span 3}.next-image,.next-project-link>div:first-child,.project-cta{grid-column:1/-1}.next-project-link svg{width:40px;height:40px;margin-top:var(--space-3)}.next-image{margin-top:var(--space-2)}.project-dialog{padding:var(--space-3);inline-size:calc(100% - var(--space-3))}}@media (prefers-reduced-motion:reduce){::view-transition-new(root),::view-transition-old(root){animation:none}.archive *,.case-page *{animation:none!important;transition:none!important}}