/* An authored motion grammar: aperture, assembly, scan, fold. */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--travel:620ms;scrollbar-color:#787d72 #e9e9e0;scrollbar-width:thin}
@view-transition{navigation:auto}
.site-header{view-transition-name:site-header}.review-bar{view-transition-name:review-bar}
::view-transition-group(site-header),::view-transition-group(review-bar){animation-duration:350ms;animation-timing-function:var(--ease-out)}
::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation-duration:620ms;animation-fill-mode:both;animation-timing-function:var(--ease-out)}
::view-transition-old(root){animation-name:page-recede}
html[data-theme=continuum]::view-transition-new(root){animation-name:aperture-page;transform-origin:var(--origin-x,65%) var(--origin-y,45%)}
html[data-theme=assembly]::view-transition-new(root){animation-name:assemble-page;animation-duration:650ms}
html[data-theme=signal]::view-transition-new(root){animation-name:scan-page;animation-duration:540ms;animation-timing-function:cubic-bezier(.5,0,.15,1)}
html[data-theme=ribbon]::view-transition-new(root){animation-name:unfold-page;animation-duration:700ms;transform-origin:100% 50%}
@keyframes page-recede{to{opacity:.25;transform:scale(.975)}}
@keyframes aperture-page{from{clip-path:ellipse(0% 0% at var(--origin-x,65%) var(--origin-y,45%));transform:scale(1.035)}to{clip-path:ellipse(160% 150% at var(--origin-x,65%) var(--origin-y,45%));transform:scale(1)}}
@keyframes assemble-page{0%{clip-path:polygon(0 100%,20% 100%,20% 100%,40% 100%,40% 100%,60% 100%,60% 100%,80% 100%,80% 100%,100% 100%,100% 100%,0 100%);transform:translateY(30px)}45%{clip-path:polygon(0 0,20% 0,20% 18%,40% 18%,40% 38%,60% 38%,60% 58%,80% 58%,80% 78%,100% 78%,100% 100%,0 100%)}100%{clip-path:polygon(0 0,20% 0,20% 0,40% 0,40% 0,60% 0,60% 0,80% 0,80% 0,100% 0,100% 100%,0 100%);transform:translateY(0)}}
@keyframes scan-page{0%{clip-path:inset(0 0 100% 0);transform:translateX(5px)}70%{clip-path:inset(0 0 20% 0);transform:translateX(0)}100%{clip-path:inset(0);transform:translateX(0)}}
@keyframes unfold-page{from{clip-path:polygon(100% 0,130% 0,130% 100%,130% 100%);transform:perspective(1800px) rotateY(-9deg) translateX(4%)}to{clip-path:polygon(-20% 0,100% 0,100% 100%,-20% 100%);transform:perspective(1800px) rotateY(0) translateX(0)}}
/* Theme-specific boundaries are scroll-linked geometry, not hidden text. */
.section-seam{height:126px;position:relative;overflow:hidden;background:var(--paper);margin-bottom:-1px;contain:paint;--seam-color:var(--paper)}
.section-seam>*{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.section-seam svg,.seam-modules,.seam-scan,.seam-fold{display:none}.section-seam path{fill:var(--seam-color)}
.continuum .seam-approach{--seam-color:#ded5c9}.assembly .seam-approach{--seam-color:#183c33}.fieldwork .seam-approach{--seam-color:#e9c65e}.ribbon .seam-approach{--seam-color:#cedce7}
.continuum .seam-work{background:#ded5c9;--seam-color:#e7e2db}.assembly .seam-work{--seam-color:#dde5e0}.fieldwork .seam-work{--seam-color:#1a1f1e}.ribbon .seam-work{--seam-color:#e9eff4}
.ribbon .seam-contact{--seam-color:#193854}.fieldwork .seam-contact{--seam-color:#111716}
.continuum .section-seam svg{display:block}.assembly .seam-modules{display:flex}.seam-modules i{height:100%;flex:1;background:var(--seam-color);transform:translateY(calc(var(--tile-rest,0) * 1%));border-right:1px solid color-mix(in srgb,var(--seam-color),transparent 80%)}
.fieldwork .seam-scan{display:block;background:var(--seam-color);clip-path:inset(calc(var(--scan-rest,0) * 1%) 0 0)}.seam-scan i{position:absolute;top:0;width:100%;height:2px;background:var(--ink)}.seam-scan i:nth-child(2){top:9px;opacity:.35}.seam-scan i:nth-child(3){top:18px;opacity:.15}
.ribbon .seam-fold{display:flex;transform:skewY(calc(var(--fold-angle,0) * 1deg));transform-origin:100% 100%;background:var(--seam-color)}.seam-fold i{flex:1;background:var(--seam-color);transform:translateY(calc(var(--fold-rest,0) * 1%))}.seam-fold i:nth-child(2){filter:brightness(.98)}.seam-fold i:nth-child(3){filter:brightness(.96)}
.content-section{padding-top:95px}.approach{padding-top:65px}.page-portal{display:flex;min-height:370px;align-items:center;justify-content:space-between;border-block:1px solid var(--rule);padding:55px 7vw 55px 26.4vw;position:relative;overflow:hidden;isolation:isolate}.portal-title{display:block;font-size:clamp(2.4rem,4vw,4.25rem);font-weight:500;letter-spacing:-.035em;line-height:1.08}.portal-action{display:flex;align-items:center;gap:35px;margin-top:28px;font-size:.9375rem}.page-portal img{height:280px;width:300px;object-fit:contain;transition:transform 650ms var(--ease-out);flex-shrink:0}.page-portal:hover img{transform:rotate(-12deg) scale(1.12)}.assembly .page-portal:hover img{transform:translateY(-16px) rotate(7deg)}.fieldwork .page-portal:hover img{transform:scale(1.15)}.ribbon .page-portal:hover img{transform:rotateY(25deg) rotate(-7deg)}
/* Small feedback uses the same material idea. */
.site-header nav a{position:relative}.site-header nav a:not(.contact-link)::after{content:'';position:absolute;left:0;bottom:-7px;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:0 50%;transition:transform 250ms var(--ease-out)}.site-header nav a:hover::after,.site-header nav a[aria-current]::after{transform:scaleX(1)}
.work-list details{position:relative;overflow-anchor:none}.work-list summary{transition:color 200ms,background 200ms}.work-list summary:hover h3{color:var(--accent)}.work-list summary b{display:flex;align-items:center;justify-content:center;width:36px;height:36px;position:relative;transition:transform 360ms var(--ease-out)}.work-list summary b::before{content:'';position:absolute;inset:0;border:1px solid var(--rule);border-radius:50%;transform:scale(.76);opacity:0;transition:transform 300ms var(--ease-out),opacity 200ms}.work-list summary:hover b::before,.work-list details[open] summary b::before{opacity:1;transform:scale(1)}.assembly .work-list summary b::before{border-radius:2px}.fieldwork .work-list summary b::before{border-radius:0;border-style:dashed}.ribbon .work-list summary b::before{border-radius:50% 10% 50% 10%}.work-list details[open] summary b{transform:rotate(45deg)}.work-detail{transform-origin:50% 0}.work-list details[data-state=closing] summary b{transform:rotate(0)}.about-preview-link{display:inline-flex;gap:20px;align-items:center;color:#2e302b;border-bottom:1px solid #b9bcb2;padding:10px 0;margin-top:12px;font: .875rem/1.5 Manrope,sans-serif}
/* A real second page, paced for reading rather than repeating the homepage. */
.about-hero{min-height:720px;position:relative;padding:35px 3.4vw 80px;isolation:isolate;overflow:clip}.back-home{display:inline-flex;gap:14px;align-items:center;font-size:.875rem;margin-bottom:55px}.about-heading{position:relative;z-index:1;max-width:65%}.about-heading h1{font-size:clamp(3.5rem,6.4vw,6rem)}.about-heading>p{max-width:410px;font-size:1.125rem;line-height:1.7;margin-top:35px}.about-art{position:absolute;margin:0;right:0;top:95px;width:49%;height:560px;z-index:0}.about-art img{width:100%;height:100%;object-fit:contain}.about-art figcaption{position:absolute;bottom:10px;right:3.4vw;font-size:.8125rem;color:var(--muted)}.about-bottom{position:absolute;bottom:0;left:3.4vw;right:3.4vw;height:65px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;font-size:.8125rem}.about-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;margin-top:35px}.about-columns .large-copy{margin:0;font-size:1.5rem;line-height:1.6}.about-columns>p:last-child{font-size:1rem;line-height:1.8}.about-questions h2{margin-bottom:45px}.about-questions summary{grid-template-columns:1fr 36px}.about-questions summary h3{font-size:1.25rem;line-height:1.5;padding-right:25px}.about-questions .work-detail{display:block;padding-left:0;max-width:720px}.about-questions .work-detail p{max-width:650px}.about-questions .work-detail a{margin-top:20px}.about-statement{padding-bottom:90px}.process-section{padding-top:100px;padding-bottom:100px}.process-tabs{margin-top:50px;border-bottom:1px solid var(--rule);display:flex;position:relative;gap:40px}.process-tabs button{border:0;background:none;padding:16px 0 20px;font-size:1rem;color:var(--muted);min-width:105px;text-align:left}.process-tabs button[aria-selected=true]{color:var(--ink);font-weight:700}.tab-traveller{position:absolute;bottom:-1px;left:0;width:105px;height:3px;background:var(--accent);transition:transform 350ms var(--ease-out)}.process-panel{display:grid;grid-template-columns:160px 1fr;gap:40px;align-items:center;min-height:270px;padding:40px 0}.process-panel h3{font-size:1.7rem;font-weight:500;letter-spacing:-.025em;margin-bottom:20px}.process-panel p{max-width:630px;line-height:1.8;font-size:1.0625rem}.process-mark{height:130px;width:130px;position:relative;perspective:600px}.process-mark i{display:block;position:absolute;width:92px;height:92px;left:19px;top:19px;border:1px solid var(--accent);border-radius:50%;transition:transform 600ms var(--ease-out),border-radius 600ms var(--ease-out)}.process-mark i:nth-child(2){transform:rotateY(60deg)}.process-mark i:nth-child(3){transform:rotateY(-60deg)}.process-panel[data-step="1"] .process-mark i{border-radius:18px;transform:rotate(45deg)}.process-panel[data-step="1"] .process-mark i:nth-child(2){transform:rotate(45deg) scale(.72)}.process-panel[data-step="1"] .process-mark i:nth-child(3){transform:rotate(45deg) scale(.42)}.process-panel[data-step="2"] .process-mark i{border-radius:50%;transform:translateX(-18px) scale(.7)}.process-panel[data-step="2"] .process-mark i:nth-child(2){transform:translateX(18px) scale(.7)}.process-panel[data-step="2"] .process-mark i:nth-child(3){transform:translateY(-20px) scale(.7)}
.continuum .about-heading h1,.continuum .portal-title{font-family:'Bodoni Moda',serif;font-weight:400}.continuum .about-art{transform:rotate(14deg)}.assembly .about-hero{min-height:800px}.assembly .about-heading{max-width:82%}.assembly .about-art{top:285px;height:420px;width:43%;right:4%}.assembly .about-heading>p{margin-top:40px;max-width:410px}.assembly .process-mark i{border-radius:6px;transform:rotate(-12deg)}.assembly .process-mark i:nth-child(2){transform:translate(10px,-10px) rotate(-12deg)}.assembly .process-mark i:nth-child(3){transform:translate(20px,-20px) rotate(-12deg)}.fieldwork .about-hero{min-height:790px}.fieldwork .about-heading{max-width:83%}.fieldwork .about-heading h1{font-size:clamp(3rem,5.9vw,5.5rem);font-weight:700;line-height:1}.fieldwork .about-heading h1 em{font:inherit;color:#e9c65e}.fieldwork .about-art{top:310px;width:44%;height:420px}.fieldwork .about-heading>p{max-width:355px}.fieldwork .process-mark i{border-radius:0;border-style:dashed}.fieldwork .process-tabs button[aria-selected]{transition:color .2s}.ribbon .about-hero{min-height:860px}.ribbon .about-heading{max-width:100%;text-align:center}.ribbon .about-heading h1{font-family:'Bodoni Moda',serif;font-weight:400}.ribbon .about-heading>p{max-width:500px;margin:30px auto 0}.ribbon .about-art{width:70%;height:440px;top:390px;right:15%;transform:rotate(-8deg)}.ribbon .about-art figcaption{right:0;bottom:5px}.ribbon .process-mark i{border-radius:50% 10% 50% 10%;transform:rotate(-30deg)}
@media(max-width:1000px){.page-portal{padding-left:21.4vw;gap:10px}.page-portal img{width:210px;height:240px}.portal-title{font-size:2.8rem}.about-heading{max-width:75%}.about-art{top:180px;width:55%;height:480px}.about-heading h1{font-size:4.5rem}.about-columns{gap:35px}.process-panel{grid-template-columns:130px 1fr;gap:30px}.process-tabs{gap:25px}.about-heading>p{max-width:330px}.assembly .about-heading{max-width:100%}}
@media(max-width:700px){.site-header nav>a:first-child{display:block}.site-header nav>a[href="#approach"],.site-header nav>a[href="#work"],.site-header nav>a[href$=".html#work"],.site-header nav>a[data-route]:not(.about-nav){display:none}.site-header nav{gap:20px}.section-seam{height:75px}.content-section{padding-top:60px}.approach{padding-top:40px}.page-portal{padding:45px 20px;min-height:310px;display:block}.portal-title{font-size:2.4rem;position:relative;z-index:1;max-width:300px}.portal-action{font-size:.875rem;gap:25px;position:relative;z-index:1}.page-portal img{position:absolute;width:190px;height:190px;right:-55px;bottom:-35px;opacity:.65;z-index:0}.about-hero,.assembly .about-hero,.fieldwork .about-hero,.ribbon .about-hero{padding:25px 20px 0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.back-home{margin-bottom:35px;font-size:.8125rem}.about-heading,.assembly .about-heading,.fieldwork .about-heading,.ribbon .about-heading{max-width:none;text-align:left}.about-heading h1,.fieldwork .about-heading h1{font-size:clamp(2.6rem,10.4vw,4.4rem)}.about-heading>p,.ribbon .about-heading>p{font-size:1rem;max-width:100%;margin:24px 0 0}.about-art,.assembly .about-art,.fieldwork .about-art,.ribbon .about-art{position:relative;top:auto;right:auto;width:calc(100% + 40px);height:345px;margin:10px -20px 0;transform:none}.about-art figcaption,.ribbon .about-art figcaption{bottom:5px;right:20px;font-size:.75rem}.about-bottom{position:relative;left:auto;right:auto;font-size:.75rem;gap:20px;margin-top:20px}.about-bottom>span{max-width:150px}.about-bottom a{white-space:nowrap}.about-columns{grid-template-columns:1fr;gap:25px;margin-top:25px}.about-columns .large-copy{font-size:1.25rem}.about-columns>p:last-child{font-size:1rem}.about-questions summary{grid-template-columns:1fr 36px}.about-questions summary h3{font-size:1.125rem;padding-right:5px}.about-questions .work-list summary b{grid-column:2;grid-row:1}.about-questions h2{margin-bottom:30px}.process-section{padding-top:65px;padding-bottom:65px}.process-tabs{margin-top:30px;gap:0;justify-content:space-between}.process-tabs button{min-width:0;width:30%;font-size:.9375rem}.tab-traveller{width:30%}.process-panel{grid-template-columns:1fr;gap:15px;padding-top:28px;min-height:360px}.process-mark{transform:scale(.65);transform-origin:0 0;height:85px}.process-panel h3{font-size:1.4rem;margin-bottom:15px}.process-panel p{font-size:1rem}.archive-note{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-old(root),::view-transition-new(root),::view-transition-group(site-header),::view-transition-group(review-bar){animation:none!important}.page-portal:hover img{transform:none}.section-seam *{transform:none!important;clip-path:none!important}.process-mark i,.tab-traveller{transition:none}.section-seam{height:40px}}

[hidden]{display:none!important}
