/* Original artwork, framed for the web. Crop coordinates live in content/site.json. */
.asset-visual{display:block;position:relative;width:100%;aspect-ratio:var(--art-ratio);overflow:hidden;isolation:isolate;line-height:0}
.asset-visual>img{position:absolute!important;left:var(--crop-left)!important;top:var(--crop-top)!important;width:var(--crop-width)!important;height:var(--crop-height)!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;object-fit:fill!important;transform:none!important;transition:none!important;will-change:auto!important}
.still-marker{position:absolute;display:grid;place-items:center;width:16%;min-width:40px;aspect-ratio:1;border-radius:50%;background:#f7f7f5;color:#292c33;box-shadow:0 1px 8px #292c3325;font:600 12px/1 Arial,sans-serif;transform:translate(-50%,-50%);z-index:2}
.surface-paper{background:#f7f7f5;color:#292c33}.surface-stone{background:#e9e7e1;color:#292c33}.surface-ice{background:var(--accent-soft);color:#292c33}.surface-ink{background:#292c33;color:#f7f7f5}
.portfolio-cover{position:relative;display:flex;align-items:center;justify-content:center;gap:6%;padding:11%;min-height:330px;overflow:hidden;line-height:0}
.cover-piece{display:block;min-width:0;flex:1;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.cover-piece>.asset-visual{box-shadow:0 15px 30px #292c3320}
.portfolio-cover.cover-single{padding:8%;min-height:360px}
.cover-single .cover-piece{width:100%;flex:0 1 100%}.cover-single .asset-visual{box-shadow:none}
.cover-duo .cover-piece{flex:0 1 46%;transform:translateY(-13px)}.cover-duo .cover-piece:nth-child(2){transform:translateY(13px)}
.cover-triptych{gap:4%;padding:10% 7%}.cover-triptych .cover-piece{flex:0 1 31%}.cover-triptych .cover-piece:nth-child(2){transform:translateY(-15px)}
.cover-stack{display:grid;grid-template-columns:1fr;padding:9% 11% 8%;gap:22px}.cover-stack .cover-piece{width:88%;transform:rotate(-3deg);justify-self:start}.cover-stack .cover-piece:nth-child(2){transform:rotate(3deg);justify-self:end;margin-top:-5%}
.cover-panorama{padding:15% 5%;min-height:330px}.cover-panorama .cover-piece{width:100%;flex:1}
.project-image .portfolio-cover img,.case-cover .portfolio-cover img{aspect-ratio:auto;object-fit:contain;height:auto}
.project-image:hover .cover-duo .cover-piece:first-child{transform:translateY(-20px)}.project-image:hover .cover-duo .cover-piece:nth-child(2){transform:translateY(5px)}.project-image:hover .cover-triptych .cover-piece:nth-child(2){transform:translateY(-22px)}.project-image:hover .cover-stack .cover-piece{transform:rotate(0)}
.card-meta,.home-motion-work .card-meta{font-size:12px;line-height:1.5;margin:20px 0 10px;letter-spacing:.01em}.card-description{font-size:16px;line-height:1.6;max-width:550px}.card-category{font-size:12px;line-height:1.6;margin-top:16px}
.project-card h3{font-size:clamp(1.6rem,2.5vw,2.6rem)}
.case-cover{max-height:none;overflow:visible}.case-cover .portfolio-cover{padding:65px;min-height:380px}.case-cover .cover-duo{gap:6%;align-items:center}.case-cover .cover-duo .cover-piece{flex:0 1 350px}.case-cover .cover-triptych .cover-piece{flex:0 1 280px}.case-cover .cover-single .cover-piece{flex:0 1 860px}.case-cover .cover-stack{grid-template-columns:1fr 1fr;gap:5%;padding:80px 7%}.case-cover .cover-stack .cover-piece{width:100%}.case-cover .cover-panorama{padding:80px 4%;min-height:360px}
.project-chapter{padding:70px 0 80px}.chapter-heading{display:grid;grid-template-columns:55px 1fr .78fr;align-items:start;gap:30px;margin-bottom:48px}.chapter-heading>.eyebrow{padding-top:9px;font-size:12px}.chapter-heading h2{font-size:clamp(2rem,3.3vw,3.8rem);letter-spacing:-.04em;line-height:1.1;max-width:700px}.chapter-heading>p{font-size:16px;line-height:1.65;max-width:490px}.chapter-gallery{display:grid;gap:36px;align-items:center;max-width:1300px;margin:auto}.chapter-gallery .case-figure{min-width:0;margin:0;grid-column:auto}.chapter-gallery .gallery-open{display:block;width:100%;border:0;background:transparent;padding:0;text-align:left;overflow:visible;position:relative}.chapter-gallery .gallery-open>img{display:block;width:100%;height:auto;aspect-ratio:auto;max-height:none;object-fit:contain}.chapter-gallery .gallery-open>.asset-visual{max-width:calc(var(--art-width)*1px);margin-inline:auto}.chapter-gallery .case-figure figcaption{font-size:12px;line-height:1.6;margin-top:16px;color:inherit;opacity:.8;max-width:680px}.chapter-gallery .image-action{opacity:0;right:12px;bottom:12px;background:var(--accent);color:white;transition:opacity .2s,transform .2s;transform:translateY(5px)}.chapter-gallery .gallery-open:hover .image-action,.chapter-gallery .gallery-open:focus-visible .image-action{opacity:1;transform:translateY(0)}
.gallery-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:7%;max-width:1130px}.gallery-pair .case-figure:nth-child(2){margin-top:60px}.gallery-triptych{grid-template-columns:repeat(3,minmax(0,1fr));gap:4%;max-width:1100px}.gallery-triptych .case-figure:nth-child(2){margin-top:45px}.gallery-four{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.gallery-four .case-figure:nth-child(even){margin-top:40px}.gallery-wide{grid-template-columns:1fr}.gallery-wide .case-figure{max-width:1250px;width:100%;margin-inline:auto}.gallery-wide .gallery-open{max-width:1250px;margin-inline:auto}.gallery-wide .case-figure figcaption{text-align:center;margin-inline:auto}.gallery-portrait{grid-template-columns:1fr;max-width:440px}.gallery-portrait .case-figure{max-width:440px;width:100%;margin-inline:auto}
.gallery-series{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;align-items:start}.gallery-series .case-figure:nth-child(even){padding-top:34px}.gallery-series .asset-visual{box-shadow:0 14px 28px #11151d35}
.project-chapter.surface-ink :focus-visible{outline-color:var(--accent-soft)}.project-note{font-size:13px;line-height:1.6;color:#5d626f;padding-top:28px;padding-bottom:28px}.case-tags{font-size:14px;line-height:1.5}.case-overview{padding-top:70px;padding-bottom:70px}.case-overview p,.case-overview li{font-size:16px}
.gallery-stage>.asset-visual{width:min(88vw,calc(68dvh * var(--art-ratio)),calc(var(--art-width)*1px));flex:none;height:auto;max-height:none}.gallery-stage>img{width:auto;height:auto;max-width:88vw;max-height:68dvh;object-fit:contain}.gallery-stage{padding:10px;overflow:hidden;display:flex;justify-content:center;align-items:center}.gallery-bottom p{font-size:14px;line-height:1.5}.gallery-bar button,.gallery-bottom button{min-width:44px;min-height:44px}
.collage-paper>.asset-visual{width:100%}.service-work-preview>.asset-visual{width:100%}.service-work-preview:has(>.asset-visual){border-width:7px}
@media(hover:none){.chapter-gallery .image-action{opacity:1;transform:none;width:38px;height:38px;font-size:20px}}
@media(max-width:1100px){.portfolio-cover{min-height:290px}.cover-single,.portfolio-cover.cover-single{min-height:290px}.cover-panorama{min-height:280px}.chapter-heading{grid-template-columns:40px 1fr 1fr;gap:22px}.chapter-gallery{gap:25px}.case-cover .portfolio-cover{padding:50px}.case-cover .cover-panorama{padding:65px 4%}}
@media(max-width:760px){.portfolio-cover{min-height:260px;padding:10%}.cover-duo{padding:9% 11%;gap:7%}.cover-triptych{padding:9% 6%;gap:4%;min-height:240px}.cover-stack{gap:20px}.cover-panorama{min-height:215px;padding:16% 5%}.portfolio-cover.cover-single{min-height:250px;padding:7%}.card-description{font-size:16px}.card-category{font-size:12px}.card-meta,.home-motion-work .card-meta{font-size:12px}.case-cover .portfolio-cover{min-height:260px;padding:30px 7%}.case-cover .cover-panorama{min-height:215px;padding:45px 4%}.case-cover .cover-stack{grid-template-columns:1fr;padding:40px 10%;gap:25px}.case-cover .cover-stack .cover-piece{width:90%}.case-overview{padding-top:42px;padding-bottom:44px}.project-chapter{padding:42px 0 48px}.chapter-heading{grid-template-columns:24px 1fr;gap:10px 15px;margin-bottom:30px}.chapter-heading h2{font-size:clamp(1.9rem,7.6vw,2.7rem);line-height:1.14}.chapter-heading>p{grid-column:2;font-size:16px;max-width:none}.chapter-heading>.eyebrow{font-size:12px;padding-top:7px}.chapter-gallery{gap:28px}.gallery-pair{grid-template-columns:1fr;max-width:470px}.gallery-pair .case-figure:nth-child(2){margin-top:0}.gallery-triptych{grid-template-columns:1fr;max-width:340px}.gallery-triptych .case-figure:nth-child(2){margin-top:0}.gallery-four{grid-template-columns:1fr 1fr;gap:24px 16px}.gallery-four .case-figure:nth-child(even){margin-top:30px}.gallery-portrait{max-width:390px}.chapter-gallery .case-figure figcaption{font-size:12px;margin-top:12px}.chapter-gallery .image-action{width:38px;height:38px;font-size:20px}.case-tags{font-size:13px}.project-note{font-size:13px}.gallery-bottom p{font-size:12px}.still-marker{font-size:10px;min-width:30px}.gallery-stage>.asset-visual{width:min(88vw,calc(65dvh * var(--art-ratio)),calc(var(--art-width)*1px))}}
@media(prefers-reduced-motion:reduce){.cover-piece{transition:none!important}.project-image:hover .cover-piece{transform:none!important}}
@media(max-width:1000px){.gallery-series{grid-template-columns:repeat(6,minmax(0,1fr));gap:26px 20px}.gallery-series .case-figure{grid-column:span 2}.gallery-series .case-figure:nth-child(even){padding-top:0}.gallery-series .case-figure:nth-child(4){grid-column:2/span 2}.gallery-series .case-figure:nth-child(5){grid-column:4/span 2}}
@media(max-width:600px){.gallery-series{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.gallery-series .case-figure,.gallery-series .case-figure:nth-child(4),.gallery-series .case-figure:nth-child(5){grid-column:auto}.gallery-series .case-figure:last-child{grid-column:1/-1;width:calc(50% - 8px);justify-self:center}.gallery-series .case-figure:nth-child(even){padding-top:26px}}
