/* Shared geometry for direct pages. Values are in the original 1733px artboard. */
@font-face{font-family:Portfolio Sans;src:url('/assets/c2506fb846426abd06b5.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Portfolio Sans;src:url('/assets/ceb9bd2f41079960817b.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Portfolio Serif;src:url('/assets/7e77d8ceeb4baa57c64c.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--portfolio-gutter:41px;--portfolio-bar-height:95.063337px;--portfolio-module-space:110px;--portfolio-image-gap:24px;--portfolio-red:#ed1566}
/* No viewport-height filler, outer grid rows, or hidden trailing page containers. */
#SITE_CONTAINER #masterPage{display:flex!important;flex-direction:column!important;min-height:0!important;height:auto!important;padding:0!important;margin:0!important;gap:0!important}
#SITE_CONTAINER #masterPage>#PAGES_CONTAINER{display:block!important;flex:none!important;min-height:0!important;height:auto!important;padding:0!important;margin:0!important}
#SITE_CONTAINER #masterPage>#SITE_HEADER,#SITE_CONTAINER #masterPage>#SITE_FOOTER{position:relative!important;box-sizing:border-box!important;width:1733px!important;height:var(--portfolio-bar-height)!important;min-height:var(--portfolio-bar-height)!important;max-height:var(--portfolio-bar-height)!important;margin:0!important;padding:0 var(--portfolio-gutter)!important;flex:none!important;overflow:visible!important;color:#fff;background:#393b3d!important;font-family:Portfolio Sans,Arial,sans-serif}
#SITE_CONTAINER #masterPage>#SITE_HEADER{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;border:0!important;border-bottom:7.736607px solid var(--portfolio-red)!important}
#SITE_CONTAINER .portfolio-bar a{color:inherit;text-decoration:none}
#SITE_CONTAINER .portfolio-bar img{display:block;object-fit:contain;width:100%;height:100%;border:0}
#SITE_CONTAINER .portfolio-work,#SITE_CONTAINER .portfolio-contact{font:700 18.9px/.95 Portfolio Sans,Arial,sans-serif;letter-spacing:-.02em}
#SITE_CONTAINER .portfolio-work{justify-self:start;width:max-content}
#SITE_CONTAINER .portfolio-contact{text-align:right;justify-self:end;width:max-content}
#SITE_CONTAINER .portfolio-brand{display:block;width:82.62px;height:61.96px}
#SITE_CONTAINER #masterPage>#SITE_FOOTER{display:flex!important;align-items:center!important;gap:20px!important;border:0!important;border-top:7.736607px solid var(--portfolio-red)!important}
#SITE_CONTAINER .portfolio-footer-brand{display:block;width:64px;height:50px;flex:none}
#SITE_CONTAINER .portfolio-up{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--portfolio-red);color:white;font:24px/1 Arial;flex:none}
#SITE_CONTAINER .portfolio-copyright{margin-left:10px;font:8px/1.25 Portfolio Sans,Arial,sans-serif;max-width:240px}
#SITE_CONTAINER .portfolio-quote{margin-left:auto;max-width:356px;font:12px/1.2 Portfolio Serif,Georgia,serif;text-align:right}
#SITE_CONTAINER .portfolio-copyright p,#SITE_CONTAINER .portfolio-quote p{margin:0;padding:0;color:inherit;font:inherit}
#SITE_CONTAINER #PAGES_CONTAINER>section[data-module]{position:relative!important;left:auto!important;top:auto!important;flex:none!important;width:100%!important;height:auto!important;max-height:none!important;margin:0!important;box-sizing:border-box!important;isolation:isolate}
/* The intro has two actual columns, equal top/bottom padding, and natural text height. */
#SITE_CONTAINER #PAGES_CONTAINER>section.portfolio-intro{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:140px!important;grid-template-areas:"title ." "subtitle label" "scope copy"!important;align-items:start!important;padding:var(--portfolio-module-space) var(--portfolio-intro-right,105px) var(--portfolio-module-space) var(--portfolio-intro-left,129px)!important;min-height:0!important;background:var(--bg-overlay-color,#fff)!important;font:16px Portfolio Sans,Arial,sans-serif;color:#111}
#SITE_CONTAINER .portfolio-intro h1,#SITE_CONTAINER .portfolio-intro h2,#SITE_CONTAINER .portfolio-intro p{margin:0;padding:0;white-space:pre-line;height:auto;min-height:0;max-width:100%;color:inherit;font-family:inherit;overflow-wrap:break-word}
#SITE_CONTAINER .portfolio-intro-identity,#SITE_CONTAINER .portfolio-intro-story{display:contents}
#SITE_CONTAINER .portfolio-title{grid-area:title;font:700 42px/1.08 Portfolio Sans,Arial,sans-serif!important;letter-spacing:-.025em!important}
#SITE_CONTAINER .portfolio-subtitle{grid-area:subtitle;margin-top:18px!important;font:400 18px/1.3 Portfolio Sans,Arial,sans-serif!important}
#SITE_CONTAINER .portfolio-scope{grid-area:scope;align-self:end;margin-top:0;padding-top:56px;font:400 16px/1.45 Portfolio Sans,Arial,sans-serif}
#SITE_CONTAINER .portfolio-scope p+p{margin-top:0}
#SITE_CONTAINER .portfolio-scope .portfolio-scope-lead{margin-bottom:20px;font-weight:700}
#SITE_CONTAINER .portfolio-intro-label{grid-area:label;position:relative;align-self:start;box-sizing:border-box;padding-left:25px!important;min-height:35px!important;font:700 15px/1.1 Portfolio Sans,Arial,sans-serif!important;margin-top:18px!important;margin-bottom:0!important}
#SITE_CONTAINER .portfolio-intro-label::before{content:"";position:absolute;left:0;top:0;width:9px;height:35px;background:currentColor}
#SITE_CONTAINER .portfolio-intro-copy{grid-area:copy;align-self:end;padding-top:28px;font:400 16px/1.45 Portfolio Sans,Arial,sans-serif}
#SITE_CONTAINER .portfolio-intro-copy p{white-space:normal!important;text-wrap:pretty}
#SITE_CONTAINER .portfolio-intro-copy .portfolio-copy-ending{white-space:nowrap}
#SITE_CONTAINER .portfolio-intro-copy p+p{margin-top:20px}
/* Scrollable presentations retain their native media, without Wix sizing wrappers. */
#SITE_CONTAINER #PAGES_CONTAINER>section.portfolio-media{display:block!important;background:#111!important;padding:var(--portfolio-module-space) var(--portfolio-gutter)!important;min-height:0!important;overflow:visible!important}
#SITE_CONTAINER .portfolio-showcase{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%;max-width:1480px;margin:0 auto}
#SITE_CONTAINER #PAGES_CONTAINER .portfolio-showcase>.local-gallery{position:relative!important;margin:0!important;left:auto!important;top:auto!important;width:100%!important;height:var(--slide-height)!important;min-height:0!important;max-height:none!important;overflow:hidden!important;background:#111}
#SITE_CONTAINER #PAGES_CONTAINER .portfolio-showcase .gallery-track{display:flex!important;gap:0!important;width:100%!important;height:100%!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;scrollbar-width:thin;align-items:center!important}
#SITE_CONTAINER #PAGES_CONTAINER .portfolio-showcase .gallery-track img{display:block!important;position:relative!important;flex:0 0 100%!important;width:100%!important;max-width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;scroll-snap-align:start;transform:none!important;clip-path:none!important;mask:none!important}
#SITE_CONTAINER #PAGES_CONTAINER .portfolio-showcase>.local-document{display:block!important;border:0!important;zoom:calc(1 / var(--page-scale,1))!important;width:calc(1480px * var(--page-scale,1))!important;height:calc(1010px * var(--page-scale,1))!important;max-width:none!important;min-height:0!important}
#SITE_CONTAINER .portfolio-showcase>video{display:block!important;position:relative!important;inset:auto!important;width:100%!important;height:auto!important;object-fit:contain!important}
#SITE_CONTAINER .portfolio-paired{flex-direction:row;gap:41px;max-width:1651px;align-items:center}
#SITE_CONTAINER #PAGES_CONTAINER .portfolio-paired>.local-gallery{flex:0 0 1216px!important;width:1216px!important}
#SITE_CONTAINER .portfolio-paired>video{flex:1;min-width:0;max-height:684.308px!important;aspect-ratio:254/464;width:auto!important}
/* Real-world photos have one gutter and their natural proportions. */
#SITE_CONTAINER #PAGES_CONTAINER>section.portfolio-photos{display:block!important;padding:var(--portfolio-module-space) var(--portfolio-gutter)!important;min-height:0!important;background:var(--bg-overlay-color,#fff)!important}
#SITE_CONTAINER .portfolio-photo-grid{display:grid;grid-template-columns:repeat(var(--photo-columns,3),minmax(0,1fr));gap:var(--portfolio-image-gap);width:100%;max-width:1480px;margin:0 auto;align-items:start}
#SITE_CONTAINER .portfolio-photo-grid>img{display:block!important;width:100%!important;height:auto!important;min-width:0;max-width:100%;object-fit:contain!important;clip-path:none!important;mask:none!important;border:0!important;margin:0!important;padding:0!important;transform:none!important}
#SITE_CONTAINER .portfolio-photo-video{grid-column:1/-1;display:block!important;position:relative!important;inset:auto!important;width:100%!important;height:auto!important;object-fit:contain!important}
/* Decorative backgrounds do not intercept selection; actual images and text do. */
#SITE_CONTAINER [data-hook="bgLayers"],#SITE_CONTAINER [data-testid="colorUnderlay"]{pointer-events:none!important}
#SITE_CONTAINER .wixui-rich-text{user-select:text!important;pointer-events:auto!important}
#SITE_CONTAINER #PAGES_CONTAINER .wixui-image{clip-path:none!important;mask:none!important}
#SITE_CONTAINER #PAGES_CONTAINER .wixui-image img{clip-path:none!important;mask:none!important}
/* Old row-wide links become compact focusable controls; JS keeps row click navigation. */
#SITE_CONTAINER [data-project-region].portfolio-project-link{visibility:visible!important;position:absolute!important;left:auto!important;right:41px!important;top:auto!important;bottom:20px!important;width:32px!important;height:32px!important;margin:0!important;translate:none!important;transform:none!important;z-index:2!important;opacity:0;pointer-events:auto!important}
#SITE_CONTAINER section:hover .portfolio-project-link,#SITE_CONTAINER .portfolio-project-link:focus-within{opacity:1}
#SITE_CONTAINER .portfolio-project-link a{position:relative!important;inset:auto!important;display:grid!important;place-items:center!important;width:32px!important;height:32px!important;border:1px solid currentColor!important;background:transparent!important;border-radius:50%!important}
#SITE_CONTAINER .portfolio-project-link a::after{content:'↗';font:20px/1 Arial}
#SITE_CONTAINER .portfolio-project-link a>*{display:none!important}
#SITE_CONTAINER .portfolio-bar a:focus-visible,#SITE_CONTAINER .portfolio-project-link a:focus-visible{outline:2px solid white;outline-offset:4px}
#SITE_CONTAINER #comp-mdrehk5v3{width:190px!important;padding-right:20px!important;box-sizing:border-box!important}
#SITE_CONTAINER #comp-mdrehk5v3 p{line-height:1.2!important;margin:0!important}
/* Retain the source palette and white lettering on its dark introduction panels. */
body[data-project="lumumu"] #SITE_CONTAINER #PAGES_CONTAINER>.portfolio-intro,body[data-project="fuze"] #SITE_CONTAINER #PAGES_CONTAINER>.portfolio-intro,body[data-project="greenis"] #SITE_CONTAINER #PAGES_CONTAINER>.portfolio-intro,body[data-project="bad-idea"] #SITE_CONTAINER #PAGES_CONTAINER>.portfolio-intro{color:#fff}
body[data-project="nopop"] #SITE_CONTAINER #PAGES_CONTAINER>.portfolio-intro{color:#111}
body[data-project="bad-idea"] #SITE_CONTAINER #PAGES_CONTAINER>.portfolio-photos{background:#111!important}
/* Long-form original artwork keeps its composed layout; only its outer boundary is reset. */
#SITE_CONTAINER #PAGES_CONTAINER>section[data-module="design"]:not(.portfolio-media){min-height:0!important}
/* Original photo compositions retain their authored columns and sequence. */
#SITE_CONTAINER #PAGES_CONTAINER>section[data-original-composition]{min-height:0!important;overflow:visible!important}
/* Tough Planet's page images use one centered coordinate system instead of negative Wix offsets. */
#SITE_CONTAINER #PAGES_CONTAINER>section.portfolio-artwork{padding:0!important;background:#fff!important;min-height:0!important}
#SITE_CONTAINER .portfolio-artwork-stack{display:flex;flex-direction:column;gap:0;width:100%;max-width:1733px;margin:0 auto}
#SITE_CONTAINER .portfolio-artwork-stack>img{display:block!important;position:relative!important;inset:auto!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;transform:none!important;translate:none!important;object-fit:contain!important;clip-path:none!important;mask:none!important}
/* Greenis and Bad Idea use their original centered introduction, not the two-column case-study grid. */
#SITE_CONTAINER #PAGES_CONTAINER>section.portfolio-intro-centered{display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important;padding:87px var(--portfolio-gutter)!important;text-align:center}
#SITE_CONTAINER .portfolio-intro-centered>.portfolio-title,#SITE_CONTAINER .portfolio-intro-centered>.portfolio-subtitle{width:372px;max-width:100%;text-align:center}
#SITE_CONTAINER .portfolio-intro-centered>.portfolio-subtitle{margin-top:12px!important}
#SITE_CONTAINER .portfolio-intro-centered>.portfolio-intro-copy{align-self:auto;padding-top:0;width:635px;max-width:100%;margin-top:43px;text-align:center}
#SITE_CONTAINER .portfolio-intro-centered>.portfolio-intro-label{align-self:auto;width:372px;max-width:100%;padding-left:0!important;margin-top:51px!important;min-height:0!important;font-size:22px!important;line-height:1.5!important;font-weight:400!important;white-space:normal!important;text-align:center}
#SITE_CONTAINER .portfolio-intro-centered>.portfolio-intro-label::before{display:none}
#SITE_CONTAINER .portfolio-intro-centered>.portfolio-scope{align-self:auto;width:310px;max-width:100%;padding-top:0;margin-top:7px;font-size:14px;line-height:1.4;text-align:center}
#SITE_CONTAINER .portfolio-intro-centered .portfolio-scope-lead{margin-bottom:0;font-weight:400}
body[data-project="bad-idea"] #SITE_CONTAINER .portfolio-intro-centered>.portfolio-intro-copy{width:574px;margin-top:48px}
body[data-project="bad-idea"] #SITE_CONTAINER .portfolio-intro-centered>.portfolio-intro-label{margin-top:28px!important}

/* Keep Bodega prose within a readable measure while preserving the shared bottom alignment. */
body[data-project="bodega"] #SITE_CONTAINER #PAGES_CONTAINER>.portfolio-intro{grid-template-columns:minmax(0,1fr) minmax(0,60ch)!important}
body[data-project="bodega"] #SITE_CONTAINER .portfolio-intro-copy{width:100%;max-width:none;text-align:left}

/* Match the shared gray sampled from all four Greenis motion artworks. */
body[data-project="greenis"] #SITE_CONTAINER #PAGES_CONTAINER>section.portfolio-intro{--bg-overlay-color:#333132!important;background:#333132!important}

/* Full-bleed homepage photos slightly overpaint their bottom edge. At fractional
   artboard zoom this closes subpixel seams without adding layout height. */
body[data-page-kind="home"] #SITE_CONTAINER .portfolio-fullbleed-media>.apPOZK{overflow:hidden!important;line-height:0}
body[data-page-kind="home"] #SITE_CONTAINER .portfolio-fullbleed-media>.apPOZK>img{display:block!important;vertical-align:top;border:0!important;height:calc(100% + 2px)!important;max-height:none!important}

body[data-page-kind="home"] #SITE_CONTAINER .portfolio-fullbleed-media{overflow:hidden!important}

/* Keep the shared header attached to the document viewport while scrolling. */
#SITE_CONTAINER #masterPage>#SITE_HEADER{position:sticky!important;top:0!important;z-index:100!important}
/* These artwork panels span the entire row, including natural text height. */
body[data-page-kind="home"] #comp-mdr9f6zw{min-height:451px!important}
body[data-page-kind="home"] #comp-mdr9khte{min-height:660px!important}
body[data-page-kind="home"] #comp-mh08fqby,body[data-page-kind="home"] #comp-mh08edtt{height:451px!important}
body[data-page-kind="home"] #comp-mewofh9h{height:660px!important}

/* Align the two Bad Idea copy blocks by their final text line. */
body[data-page-kind="home"] #comp-mdrhbf2u,
body[data-page-kind="home"] #comp-mdrd9aia2{grid-area:5 / 1 / 6 / 2!important;align-self:end!important;margin-top:0!important;margin-bottom:29px!important;min-height:0!important;height:auto!important;--min-height:0px}

/* Match both Bad Idea final lines to the adjacent Greenie introduction. */
body[data-page-kind="home"] #comp-mdrhbf2u,
body[data-page-kind="home"] #comp-mdrd9aia2{top:41.52px!important}
