/* Fieldwork is the visual authority; Signal supplies the interaction grammar. */
.fieldwork{--paper:#edf0eb;--ink:#233e31;--muted:#526859;--rule:#bac8bd;--accent:#426d4a;background:var(--paper);color:var(--ink)}html{scroll-padding-top:130px;scrollbar-color:#657d68 #edf0eb}body{overflow-x:clip}button{font-family:inherit}h1,h2{text-wrap:balance}.fieldwork h1{font-size:clamp(3.5rem,6.9vw,6rem);line-height:.99;font-weight:500;letter-spacing:-.035em}.fieldwork h1 em,.fieldwork h2 em{font-family:'Bodoni Moda',serif;font-weight:400;color:var(--accent)}.fieldwork .site-header{position:sticky;top:0;z-index:20;background:var(--paper);padding:16px 3.4vw;min-height:110px;gap:25px;border-bottom:1px solid transparent;display:flex;overflow:visible}.fieldwork .brand{width:112px;flex-shrink:0;padding:0;background:none}.site-header nav{margin-left:auto;gap:30px}.header-emblem{width:90px;height:66px;position:relative;flex:none;margin-left:-8px;pointer-events:none}.header-emblem canvas{position:absolute;width:100px;height:100px;left:-5px;top:50%;margin-top:-50px;opacity:0;visibility:hidden;pointer-events:none}.header-emblem.active canvas{opacity:1;visibility:visible}.fieldwork .hero{min-height:750px;height:calc(100svh - 115px);max-height:1050px;padding:38px 3.4vw 0;overflow:clip}.fieldwork .hero-copy{width:40%;z-index:2}.fieldwork .hero-copy p{max-width:300px;font-size:1rem;line-height:1.8;margin:30px 0}.fieldwork .main-link{gap:30px}.fieldwork .hero-copy .main-link{background:var(--ink);color:var(--paper);padding:16px 20px;border:0;position:relative;isolation:isolate;overflow:hidden}.fieldwork .main-link::before,.contact-link::before{content:'';position:absolute;inset:0;background:var(--accent);z-index:-1;clip-path:inset(100% 0 0);transition:clip-path 300ms steps(8,end)}.fieldwork .hero-copy .main-link:hover::before,.contact-link:hover::before{clip-path:inset(0)}.contact-link{padding:12px 15px;border:1px solid var(--rule);isolation:isolate;overflow:hidden;transition:color .25s}.contact-link:hover{color:var(--paper)}.fieldwork .artwork{width:73%;height:650px;right:-1.5%;top:0;overflow:visible}.field-scene{position:absolute;inset:0}.field-scene canvas,.field-scene .fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.field-scene canvas{opacity:0}.field-scene.ready canvas{opacity:1}.field-scene.ready .fallback{opacity:0}.fieldwork .art-caption{bottom:6px;right:6vw;left:auto;max-width:none;font-size:.8125rem;color:var(--muted)}.sequence-controls{position:absolute;left:3.4vw;right:3.4vw;bottom:66px;border-top:1px solid var(--rule);padding:14px 0;display:grid;grid-template-columns:1fr auto;gap:8px 25px;align-items:center}.sequence-controls .chapter{font-size:1rem}.sequence-controls>div{display:flex;gap:20px}.sequence-controls button{background:none;border:0;border-bottom:1px solid var(--rule);padding:10px 0;font-size:.8125rem;transition:color .2s,border-color .2s}.sequence-controls button:hover{color:var(--accent);border-color:var(--ink)}.sequence-controls button:disabled{opacity:.45;cursor:default}.scene-status{grid-column:1/-1;color:var(--muted);font-size:.75rem;min-height:1.5em}.fieldwork .hero-bottom{font-size:.8125rem}.fieldwork .approach{background:#dce5d8;color:var(--ink);--muted:#526859}.fieldwork .seam-approach{--seam-color:#dce5d8}.fieldwork .seam-work{background:#dce5d8;--seam-color:#edf0eb}.fieldwork .work{background:var(--paper)}.fieldwork .seam-contact{--seam-color:#233e31}.fieldwork .contact{background:#233e31;color:#edf0eb;--muted:#c2cfc0;--rule:#6b806f}.fieldwork .contact h2 em{color:#b7ccac}.fieldwork .content-section{grid-template-columns:23% 1fr}.fieldwork .capabilities h3{font-family:Manrope,sans-serif}.fieldwork .page-portal{padding-left:26.4vw;gap:30px}.fieldwork .page-portal img{width:320px;height:280px}.fieldwork .page-portal:hover img{transform:translateY(-6px)}.fieldwork .portal-title{font-weight:500}.fieldwork .about-hero{min-height:720px;padding-top:30px}.fieldwork .about-heading{max-width:62%}.fieldwork .about-heading h1{font-size:clamp(3.3rem,5.8vw,5.5rem);font-weight:500;line-height:1.03}.fieldwork .about-heading h1 em{font-family:'Bodoni Moda',serif;color:var(--accent);font-weight:400}.fieldwork .about-art{width:60%;top:170px;height:480px;right:-5%}.fieldwork .about-heading>p{max-width:340px}.fieldwork .process-mark i{border-color:var(--accent)}.fieldwork .about-art figcaption{max-width:210px}.fieldwork footer{flex-wrap:wrap}.fieldwork footer p{margin:0}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.contact a:focus-visible{outline-color:#dce5d8}::selection{background:#426d4a;color:#fff}
@media(min-width:1600px){.fieldwork .artwork{height:760px}.fieldwork .hero{min-height:860px}}
@media(max-width:1050px){.site-header nav{gap:18px}.site-header nav>a[href="#approach"]{display:none}.fieldwork .hero{min-height:780px}.fieldwork .artwork{width:80%;right:-10%;top:35px}.fieldwork .hero-copy{width:46%}.header-emblem{width:76px}.header-emblem canvas{width:90px;height:90px;margin-top:-45px}.fieldwork .about-heading{max-width:75%}}
@media(max-width:700px){html{scroll-padding-top:100px}.fieldwork .site-header{padding:12px 20px;min-height:90px;gap:12px}.fieldwork .brand{width:88px}.fieldwork .site-header nav{gap:12px;font-size:.8125rem}.site-header .contact-link{padding:10px}.contact-link span{display:none}.header-emblem{width:54px;height:50px;margin-left:-5px}.header-emblem canvas{width:72px;height:72px;left:-9px;margin-top:-36px}.fieldwork .hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;padding:28px 20px 0}.fieldwork .hero-copy{width:100%}.fieldwork h1{font-size:clamp(3.3rem,15vw,4.5rem)}.fieldwork .hero-copy p{max-width:320px;margin:25px 0}.fieldwork .artwork{position:relative;width:calc(100% + 40px);height:370px;right:auto;top:auto;margin:12px -20px 0;overflow:hidden}.fieldwork .art-caption{bottom:6px;right:20px;font-size:.75rem}.sequence-controls{position:relative;left:auto;right:auto;bottom:auto;display:block;padding:17px 0;margin-top:18px}.sequence-controls>div{gap:18px;flex-wrap:wrap;margin-top:8px}.scene-status{margin-top:10px}.fieldwork .hero-bottom{font-size:.75rem;gap:15px}.fieldwork .content-section{display:block}.fieldwork .page-portal{padding:45px 20px}.fieldwork .page-portal img{width:200px;height:200px}.fieldwork .about-hero{min-height:0}.fieldwork .about-heading{max-width:none}.fieldwork .about-heading h1{font-size:clamp(2.8rem,11vw,4.4rem)}.fieldwork .about-art{position:relative;top:auto;right:auto;width:calc(100% + 40px);height:330px;margin:5px -20px}.fieldwork .about-heading>p{max-width:none}.fieldwork .about-art figcaption{max-width:none}.fieldwork footer{gap:20px}}
@media(max-width:370px){.fieldwork .site-header{gap:8px;padding-inline:14px}.fieldwork .brand{width:76px}.fieldwork .site-header nav{gap:8px}.header-emblem{width:45px}.header-emblem canvas{width:65px;height:65px;margin-top:-32.5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0s!important;transition:none!important}.fieldwork .page-portal:hover img{transform:none}}
.header-emblem{border:0;padding:0;background:none}.header-emblem.active{pointer-events:auto;cursor:pointer}.header-emblem:disabled{cursor:default}.header-emblem:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.header-emblem.active:hover canvas{filter:brightness(1.05)}
/* Distinct grid rows keep the artwork caption out of the motion controls. */
@media(min-width:701px){.fieldwork .hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(580px,1fr) auto 62px;height:auto;min-height:max(820px,calc(100svh - 115px));max-height:none}.fieldwork .hero-copy{grid-area:1/1;align-self:start}.fieldwork .artwork{grid-area:1/1;position:relative;align-self:stretch;justify-self:end;right:auto;top:auto;height:100%;width:73%;margin:0 -1.5% 0 0;min-width:0}.sequence-controls{grid-area:2/1;position:relative;left:auto;right:auto;bottom:auto;margin-top:15px}.fieldwork .hero-bottom{grid-area:3/1;position:relative;left:auto;right:auto;bottom:auto;height:62px}.fieldwork .art-caption{bottom:12px}}
@media(min-width:701px) and (max-width:1050px){.fieldwork .artwork{width:80%;margin-right:-10%}}
@media(min-width:1600px){.fieldwork .hero{grid-template-rows:minmax(700px,1fr) auto 62px}}
/* The original factory is a navigable guide to the four software tools. */
.factory-hotspots{position:absolute;inset:0;pointer-events:none;z-index:4}.factory-marker{position:absolute;left:var(--x);top:var(--y);transform:translate(-18px,-50%);display:flex;align-items:center;gap:4px;min-height:44px;min-width:44px;pointer-events:auto;color:var(--ink);white-space:nowrap;padding:4px;isolation:isolate}.factory-marker span{flex:none;display:grid;place-items:center;width:28px;height:28px;background:var(--ink);color:var(--paper);border:2px solid var(--paper);border-radius:50%;font-size:12px;transition:transform .2s,background .2s}.factory-marker b{font-size:12px;font-weight:600;padding:6px 9px;background:var(--paper);border:1px solid var(--rule);transition:background .2s,color .2s}.factory-marker:hover span,.factory-marker:focus-visible span,.factory-marker.selected span{transform:scale(1.16);background:var(--accent)}.factory-marker.selected b,.factory-marker.shift-highlight b{background:var(--ink);color:var(--paper);border-color:var(--ink)}.factory-guide{padding:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid var(--rule);position:relative;z-index:5}.factory-guide h2{font:500 1.35rem/1.2 Manrope,sans-serif;letter-spacing:-.02em}.factory-guide-intro>p{font-size:.875rem;line-height:1.6;margin:10px 0 14px;color:var(--muted)}.factory-tool-list{display:flex;gap:8px 18px;flex-wrap:wrap}.factory-tool-list a{font-size:.875rem;border-bottom:1px solid var(--rule);padding:9px 0;min-height:40px}.factory-tool-list a.selected{border-color:var(--accent);font-weight:700}.factory-shift{margin-top:20px;max-width:480px}.factory-shift label{font-size:.8125rem;display:flex;justify-content:space-between;gap:15px}.factory-shift strong{font-weight:500;color:var(--muted)}.factory-shift p{font-size:.8125rem;line-height:1.6;color:var(--muted);margin-top:6px;min-height:2.8em}.factory-shift input{min-height:32px}.factory-selection{align-self:stretch;display:flex;align-items:center;position:relative}.factory-empty{font:400 1.15rem/1.7 'Bodoni Moda',serif;color:var(--muted)}.factory-card{width:100%;border:1px solid var(--rule);padding:22px 24px;background:#e5ebe1;animation:factory-card-in 300ms steps(8,end)}.factory-card>div{display:flex;align-items:center;justify-content:space-between;gap:20px}.factory-card h3{font:500 1.5rem/1.2 Manrope,sans-serif;letter-spacing:-.02em}.factory-close{display:grid;place-items:center;width:44px;height:44px;margin:-12px -12px -8px 0;background:none;border:0;color:var(--ink)}.factory-card-area{font-size:.8125rem;color:var(--muted);margin:9px 0 13px}.factory-card-copy{font-size:.9375rem;line-height:1.65;max-width:55ch}.factory-open{display:inline-flex;gap:20px;align-items:center;font-size:.875rem;border-bottom:1px solid var(--ink);padding:13px 0 9px;margin-top:6px}.factory-open .icon{transition:transform .2s}.factory-open:hover .icon{transform:translateX(5px)}.fieldwork .work-list details[id]{scroll-margin-top:135px}.factory-announcement,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes factory-card-in{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@media(min-width:701px){.fieldwork .hero{grid-template-rows:minmax(580px,1fr) auto auto 62px}.factory-guide{grid-area:2/1}.sequence-controls{grid-area:3/1;margin-top:0}.fieldwork .hero-bottom{grid-area:4/1}}
@media(min-width:1600px){.fieldwork .hero{grid-template-rows:minmax(700px,1fr) auto auto 62px}}
@media(max-width:700px){.factory-guide{display:block;padding:24px 0;margin-top:12px}.factory-selection{margin-top:22px}.factory-empty{font-size:1rem}.factory-card{padding:20px}.factory-marker b{display:none}.factory-marker.selected b,.factory-marker:focus-visible b{display:block;position:absolute;left:36px;top:7px;z-index:2}.factory-marker[data-factory-tool=receiverx] b{left:auto;right:36px}.factory-marker{justify-content:center;transform:translate(-50%,-50%)}.factory-tool-list{gap:8px 20px}.factory-shift{margin-top:20px}.factory-shift p{min-height:0}.fieldwork .work-list details[id]{scroll-margin-top:105px}}
@media(prefers-reduced-motion:reduce){.factory-card{animation:none}.factory-open:hover .icon{transform:none}}
