.projects-expanded{--ed-accent:#5b2a30;--ed-hover:#f3ecec}.projects-expanded .projects-intro{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.projects-expanded .projects-intro h1{font-size:72px;letter-spacing:-.035em;padding:96px 40px 48px}.projects-expanded .projects-intro>p{font-size:17px;line-height:1.5;padding:96px 40px 48px;color:#444440}.project-jumps{display:flex;height:52px;overflow-x:auto;border-bottom:1px solid}.project-jumps>span{padding:0 20px 0 40px;font:12px var(--font-geist-mono),monospace;color:var(--ed-muted)}.project-jumps a,.project-jumps>span{display:flex;align-items:center;border-right:1px solid}.project-jumps a{gap:10px;padding:0 20px;white-space:nowrap;font-size:14px}.project-jumps a span{font:12px var(--font-geist-mono),monospace;color:var(--ed-muted)}.project-jumps a:first-of-type span{color:var(--ed-accent)}.project-jumps a:hover{background:var(--ed-hover)}.project-jumps a:focus-visible{outline-offset:-4px}.project-band{display:grid;grid-template-columns:minmax(0,35fr) minmax(0,65fr);border-bottom:1px solid;scroll-margin-top:88px}.project-band-info{padding:40px;border-right:1px solid;display:flex;flex-direction:column;justify-content:space-between;gap:40px}.project-band-intro{display:flex;flex-direction:column;gap:14px}.project-number{font:12px var(--font-geist-mono),monospace;color:var(--ed-muted);transition:color .18s ease}.project-band h2{font-size:44px;line-height:1;letter-spacing:-.03em;overflow-wrap:anywhere}.project-band-intro p{font-size:18px;line-height:1.4;color:#333}.project-band-details dl{border-top:1px solid;font:12px/1.5 var(--font-geist-mono),monospace}.project-band-details dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #dadad6}.project-band-details dt{color:var(--ed-muted)}.project-band-details dd{text-align:right}.project-live:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ed-accent);margin-right:6px}.project-progress{color:var(--ed-accent)}.project-band-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.project-button{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid #111;font:12px var(--font-geist-mono),monospace;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.project-button.primary{background:#111;color:#fcfcfa}.project-button:hover{background:var(--ed-hover)}.project-button.primary:hover{background:var(--ed-accent);border-color:var(--ed-accent)}.project-button span{transition:transform .18s ease}.project-notes summary{list-style:none}.project-notes summary::-webkit-details-marker{display:none}.project-notes p{font-size:13px;line-height:1.6;color:var(--ed-muted);margin-top:12px;max-width:300px}.project-band-media{margin:0;position:relative;min-width:0;display:flex;align-items:center;overflow:hidden;background:var(--ed-secondary)}.project-media-frame{width:100%;aspect-ratio:16/10;position:relative;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.project-media-frame img{object-fit:contain}.project-band-media figcaption{bottom:16px;right:20px;padding:3px 6px;background:var(--ed-secondary)}.project-band-media figcaption,.project-media-pending{position:absolute;color:var(--ed-muted);font:12px var(--font-geist-mono),monospace}.project-media-pending{inset:0;padding:20px;display:flex;flex-direction:column;justify-content:space-between}.project-media-pending p{align-self:center;margin:auto}.project-band:is(:hover,:focus-within) .project-media-frame{transform:scale(1.02)}.project-band:is(:hover,:focus-within) .project-number{color:var(--ed-accent)}.project-band:is(:hover,:focus-within) .project-button span{transform:translateX(6px)}.projects-expanded .projects-more{padding:20px 40px;gap:12px 32px;font-size:13px}.projects-expanded .projects-more>span{font-size:12px}.projects-expanded .tab-footer{font-size:13px}.projects-expanded .tab-footer>*{padding:20px 28px}@media (max-width:1200px){.projects-expanded .projects-intro h1{font-size:58px}.project-band-info{padding:28px}.project-band h2{font-size:36px}.project-band{grid-template-columns:minmax(0,40fr) minmax(0,60fr)}}@media (max-width:760px){.projects-expanded .projects-intro{grid-template-columns:minmax(0,1fr)}.projects-expanded .projects-intro h1{font-size:44px;padding:48px 24px 28px}.projects-expanded .projects-intro>p{border-left:0;border-top:1px solid;padding:24px;font-size:16px}.project-jumps>span{padding-left:24px}.project-band{grid-template-columns:minmax(0,1fr);scroll-margin-top:148px}.project-band-info{padding:28px 24px;border-right:0;border-bottom:1px solid}.project-band h2{font-size:38px}.project-band-media{min-height:0}.projects-expanded .projects-more{padding:20px 24px}.projects-expanded .tab-footer>*{padding:16px 20px}}@media(prefers-reduced-motion:reduce){html:has(.projects-expanded){scroll-behavior:auto}.projects-expanded *{transition:none!important}.project-band:is(:hover,:focus-within) .project-button span,.project-band:is(:hover,:focus-within) .project-media-frame{transform:none}}.client-work-label{padding:32px 40px;border-bottom:1px solid #111;background:#e3e8dc;color:#344638;font-size:clamp(36px,4.2vw,60px);font-weight:500;line-height:1.05;letter-spacing:-.035em}.project-band-client h2{font-size:clamp(28px,2.5vw,36px);line-height:1.12}.project-band-client .project-band-intro p{font-size:16px}.client-work-description{margin-top:18px;color:var(--ed-muted);font-size:14px;line-height:1.6}.client-media-frame{aspect-ratio:16/11}.client-screenshot{position:absolute;background:var(--ed-bg,#fcfcfa);border:1px solid #d5d4cf;box-shadow:0 8px 24px #0000000d;overflow:hidden}.client-screenshot-desktop{left:6%;top:12%;width:81%;aspect-ratio:16/10}.client-screenshot-mobile{right:5%;bottom:12%;width:24%;aspect-ratio:9/19.5}.client-screenshot img{object-fit:contain}.client-screenshot>span{position:absolute;inset:0;display:grid;place-content:center;padding:12px;text-align:center;color:var(--ed-muted);font:11px/1.5 var(--font-geist-mono),monospace}@media(max-width:760px){.client-work-label{padding:28px 24px}}.ff-lite{min-width:0;background:#f3f2ee;padding:28px 32px 24px;display:flex;flex-direction:column;gap:16px}.ff-topline{display:flex;justify-content:space-between;gap:12px;font:11px/1.5 var(--font-geist-mono),monospace;letter-spacing:.08em;color:var(--ed-muted)}.ff-preview{position:relative;background:#fff;border:1px solid #111}.ff-preview svg{display:block;width:100%;height:auto;overflow:hidden}.ff-preview path,.ff-preview rect{shape-rendering:crispEdges}.ff-chip{position:absolute;left:12px;bottom:10px;font:11px var(--font-geist-mono),monospace;padding:1px 6px;background:#ffffffe6}.ff-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:10px 20px}.ff-control{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center}.ff-control>span{font:11px var(--font-geist-mono),monospace;letter-spacing:.08em;color:var(--ed-muted)}.ff-lens{grid-column:1/-1}.ff-segments{display:flex;border:1px solid #111;min-width:0}.ff-segments button{flex:1 1 0;min-width:0;min-height:36px;padding:0 10px;border:0;border-right:1px solid #111;background:#fff;font:12px var(--font-geist-mono),monospace;color:#111;cursor:pointer;white-space:nowrap;transition:background .12s}.ff-segments button:last-child{border-right:0}.ff-segments button:hover{background:#f3ecec}.ff-segments button[aria-pressed=true]{background:#111;color:#fcfcfa}.ff-instruction{display:flex;border:1px solid #111;background:#fff;font-family:var(--font-geist-mono),monospace}.ff-instruction>div{flex:1;min-width:0;padding:12px 14px}.ff-instruction span{font-size:11px;letter-spacing:.08em;color:var(--ed-muted)}.ff-instruction p{margin-top:4px;font-size:13px;line-height:1.55}.ff-instruction button{flex:0 0 96px;border:0;border-left:1px solid #111;background:none;font-size:12px;cursor:pointer}.ff-lite .ff-note{font-size:12px;color:var(--ed-muted)}@media(max-width:760px){.ff-lite{padding:24px 16px}.ff-control{grid-template-columns:48px minmax(0,1fr);gap:8px}.ff-segments button{padding:0 5px;font-size:11px}.ff-instruction button{flex-basis:64px}.ff-topline{font-size:10px}}.project-development-note{margin-top:14px;font:12px/1.6 var(--font-geist-mono),monospace;color:var(--ed-muted)}