.image-wrapper[data-v-58adbcbf]{display:block;height:100%;overflow:hidden;position:relative;width:100%}.image-wrapper[data-v-58adbcbf],video.image-wrapper[data-v-58adbcbf]{border-radius:var(--border-radius-xl)}video.image-wrapper[data-v-58adbcbf]{-o-object-fit:cover;object-fit:cover}.media-image[data-v-58adbcbf],picture[data-v-58adbcbf]{display:block;height:100%;width:100%}.media-image[data-v-58adbcbf]{-o-object-fit:cover;object-fit:cover;-o-object-position:var(--media-object-position,center);object-position:var(--media-object-position,center)}.image-wrapper--crop-top-left picture[data-v-58adbcbf],.image-wrapper--crop-top-left>.media-image[data-v-58adbcbf]{border-radius:var(--border-radius);height:auto;left:var(--spacing-md);overflow:hidden;position:absolute;top:var(--spacing-md);width:72%}.image-wrapper--crop-top-left .media-image[data-v-58adbcbf]{height:auto;left:10%;-o-object-fit:contain;object-fit:contain;-o-object-position:top left;object-position:top left;top:10%;width:160%}.image-overlay[data-v-58adbcbf]{height:100%;left:0;position:absolute;top:0;width:100%;z-index:2}.image-url[data-v-58adbcbf]{inset:0;z-index:3}.image-caption[data-v-58adbcbf],.image-url[data-v-58adbcbf]{pointer-events:none;position:absolute}.image-caption[data-v-58adbcbf]{-webkit-backdrop-filter:blur(5rem) saturate(180%) brightness(.8);backdrop-filter:blur(5rem) saturate(180%) brightness(.8);bottom:0;color:#fff;height:100%;left:0;opacity:0;padding:var(--spacing-xl) var(--spacing-xl);transition:opacity .2s ease;width:100%;z-index:1}@media(hover:hover)and (pointer:fine){.image-wrapper:hover .image-caption[data-v-58adbcbf]{opacity:1}}@media(hover:none)and (pointer:coarse){.image-caption.caption-visible[data-v-58adbcbf]{opacity:1;pointer-events:auto}}.content-header[data-v-5fda2b7c]{font-weight:var(--font-weight-normal);line-height:var(--line-height-header);margin:0 0 1em}.content-header--xs[data-v-5fda2b7c]{font-size:var(--font-size-xs)}.content-header--sm[data-v-5fda2b7c]{font-size:var(--font-size-sm)}.content-header--base[data-v-5fda2b7c]{font-size:var(--font-size-base)}.content-header--lg[data-v-5fda2b7c]{font-size:var(--font-size-lg)}.content-header--xl[data-v-5fda2b7c]{font-size:var(--font-size-xl)}.content-header--secondary[data-v-5fda2b7c]{color:var(--color-text)}.ui-liquid[data-v-a78ad5c4]{isolation:isolate;position:relative}.ui-liquid--secondary[data-v-a78ad5c4]{-webkit-backdrop-filter:blur(.5rem) saturate(1.35) brightness(1.3);backdrop-filter:blur(.5rem) saturate(1.35) brightness(1.3)}.ui-liquid--primary[data-v-a78ad5c4]{-webkit-backdrop-filter:blur(.5rem) saturate(1.2) brightness(.6);backdrop-filter:blur(.5rem) saturate(1.2) brightness(.6)}.ui-liquid[data-v-a78ad5c4]:after,.ui-liquid[data-v-a78ad5c4]:before{border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute;transform:translateZ(0);z-index:0}.ui-liquid__content[data-v-a78ad5c4]{font-size:0;line-height:0;overflow:hidden;position:relative;z-index:1}.ui-liquid__content[data-v-a78ad5c4]>*{font-size:revert;line-height:revert}.ui-liquid--unwrapped[data-v-a78ad5c4]>*{position:relative;z-index:1}.ui-liquid--secondary[data-v-a78ad5c4]:before{background-color:rgba(var(--color-white-rgb),0)}@media(max-width:767px){.ui-liquid--secondary[data-v-a78ad5c4]{-webkit-backdrop-filter:blur(.5rem) saturate(1.35);backdrop-filter:blur(.5rem) saturate(1.35)}.ui-liquid--secondary[data-v-a78ad5c4]:before{background-color:rgba(var(--color-white-rgb),.22)}}.ui-liquid--secondary.ui-liquid--on-dark[data-v-a78ad5c4]:before{background-color:rgba(var(--color-white-rgb),.72)}@supports (backdrop-filter:url(#liquid-distortion)){:root.liquid-enabled .ui-liquid--secondary[data-v-a78ad5c4]{-webkit-backdrop-filter:blur(.5rem) url(#liquid-distortion) saturate(1.35) brightness(1.3);backdrop-filter:blur(.5rem) url(#liquid-distortion) saturate(1.35) brightness(1.3)}:root.liquid-enabled .ui-liquid--primary[data-v-a78ad5c4]{-webkit-backdrop-filter:blur(.5rem) url(#liquid-distortion) saturate(1.2) brightness(.9);backdrop-filter:blur(.5rem) url(#liquid-distortion) saturate(1.2) brightness(.9);background-color:rgba(var(--color-white-rgb),.1)}@media(max-width:767px){:root.liquid-enabled .ui-liquid--secondary[data-v-a78ad5c4]{-webkit-backdrop-filter:blur(.5rem) url(#liquid-distortion) saturate(1.35);backdrop-filter:blur(.5rem) url(#liquid-distortion) saturate(1.35)}}}html.light .ui-liquid--primary[data-v-a78ad5c4]{-webkit-backdrop-filter:blur(.5rem) saturate(1.2) brightness(.94);backdrop-filter:blur(.5rem) saturate(1.2) brightness(.94)}html.light .ui-liquid--secondary[data-v-a78ad5c4]{-webkit-backdrop-filter:blur(.5rem) saturate(1.35) brightness(.72);backdrop-filter:blur(.5rem) saturate(1.35) brightness(.72)}html.light .ui-liquid--primary[data-v-a78ad5c4]:before{background-color:rgba(var(--color-black-rgb),.1)}html.light .ui-liquid--secondary.ui-liquid--on-dark[data-v-a78ad5c4]:before,html.light .ui-liquid--secondary[data-v-a78ad5c4]:before{background-color:rgba(var(--color-black-rgb),.58)}@media(max-width:767px){html.light .ui-liquid--secondary[data-v-a78ad5c4]{-webkit-backdrop-filter:blur(.5rem) saturate(1.35) brightness(.72);backdrop-filter:blur(.5rem) saturate(1.35) brightness(.72)}html.light .ui-liquid--secondary[data-v-a78ad5c4]:before{background-color:rgba(var(--color-black-rgb),.5)}}@supports (backdrop-filter:url(#liquid-distortion)){:root.light.liquid-enabled .ui-liquid--primary[data-v-a78ad5c4]{-webkit-backdrop-filter:blur(.5rem) url(#liquid-distortion) saturate(1.2) brightness(.94);backdrop-filter:blur(.5rem) url(#liquid-distortion) saturate(1.2) brightness(.94);background-color:rgba(var(--color-black-rgb),.06)}:root.light.liquid-enabled .ui-liquid--secondary[data-v-a78ad5c4]{-webkit-backdrop-filter:blur(.5rem) url(#liquid-distortion) saturate(1.35) brightness(.72);backdrop-filter:blur(.5rem) url(#liquid-distortion) saturate(1.35) brightness(.72)}@media(max-width:767px){:root.light.liquid-enabled .ui-liquid--secondary[data-v-a78ad5c4]{-webkit-backdrop-filter:blur(.5rem) url(#liquid-distortion) saturate(1.35) brightness(.72);backdrop-filter:blur(.5rem) url(#liquid-distortion) saturate(1.35) brightness(.72)}}}.badge[data-v-afbeb930]{align-items:center;border-radius:1.5rem;color:var(--color-primary-foreground);display:inline-flex}.badge-label[data-v-afbeb930]{font-family:var(--font-family-mono);font-size:var(--font-size-xs);line-height:1;padding:var(--spacing-xs) var(--spacing-md)}.badge--secondary[data-v-afbeb930]{color:var(--color-primary)}.project-card[data-v-6c1b9f18]{aspect-ratio:2/2.6;background-color:var(--color-secondary);border-radius:var(--border-radius-xl);color:#fff;position:relative}.project-card--gradient[data-v-6c1b9f18]{background-color:var(--gradient-colour-centre);background-image:radial-gradient(ellipse 120% 90% at 100% 0,var(--gradient-colour-top-right) 0,transparent 52%),radial-gradient(ellipse 90% 80% at 0 15%,var(--gradient-colour-left) 0,transparent 48%),radial-gradient(ellipse 80% 70% at 42% 58%,var(--gradient-colour-centre) 0,transparent 50%),radial-gradient(ellipse 110% 80% at 70% 100%,var(--gradient-colour-bottom) 0,transparent 55%)}.project-card[data-v-6c1b9f18] .content-header,.project-card p[data-v-6c1b9f18]{color:#fff;font-size:var(--font-size-sm)}.portfolio-image-badges[data-v-6c1b9f18]{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-xxl)}.project-card-url[data-v-6c1b9f18]{background:var(--color-primary);border-radius:var(--border-radius-xl);bottom:var(--spacing-xl);color:var(--color-secondary-foreground);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);padding:var(--spacing-sm) var(--spacing-lg);pointer-events:auto;position:absolute;right:var(--spacing-lg);text-decoration:none;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto;z-index:191}.project-card-url[data-v-6c1b9f18]:hover{opacity:1}.client-logo-balls[data-v-4a5152af]{flex:1;min-height:40rem;overflow:hidden;position:relative;width:100%}.client-logo[data-v-4a5152af]{align-items:center;border-radius:4rem;cursor:grab;display:inline-flex;height:7rem;justify-content:center;left:0;opacity:0;padding:var(--spacing-sm) var(--spacing-lg);position:absolute;top:0;touch-action:none;transition:opacity .4s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform}.client-logo-balls--ready .client-logo[data-v-4a5152af]{opacity:1}.client-logo[data-v-4a5152af]:active{cursor:grabbing}.client-logo img[data-v-4a5152af]{filter:saturate(0);height:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none;width:auto}html.light .client-logo img[data-v-4a5152af]{filter:saturate(0) invert(1)}@media(prefers-reduced-motion:reduce){.client-logo[data-v-4a5152af]{transition:none}}.feed-tag-balls[data-v-18a04cc5]{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:200}.feed-tag[data-v-18a04cc5]{display:inline-flex;left:0;opacity:0;pointer-events:auto;position:absolute;top:0;transition:opacity .4s ease;will-change:transform}.feed-tag-surface[data-v-18a04cc5]{border-radius:4rem;color:var(--color-primary-foreground);transition:transform .2s ease}.feed-tag-control[data-v-18a04cc5],.feed-tag-surface[data-v-18a04cc5]{align-items:center;display:inline-flex}.feed-tag-control[data-v-18a04cc5]{background:transparent;border:none;color:inherit;cursor:pointer;font-family:var(--font-family-mono);font-size:2.3rem;line-height:1;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.feed-tag-balls--ready .feed-tag[data-v-18a04cc5]{opacity:1}.feed-tag--active .feed-tag-surface[data-v-18a04cc5]{color:var(--color-primary)}@media(hover:hover)and (pointer:fine){.feed-tag:hover .feed-tag-surface[data-v-18a04cc5]{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.feed-tag[data-v-18a04cc5],.feed-tag-surface[data-v-18a04cc5]{transition:none}.feed-tag:hover .feed-tag-surface[data-v-18a04cc5]{transform:none}}.grid[data-v-9ef75148]{display:grid;grid-template-columns:repeat(auto-fill,minmax(40rem,1fr))}.grid[data-v-9ef75148],.grid-rows[data-v-9ef75148]{align-items:stretch;gap:var(--spacing-xxxl)}.grid-rows[data-v-9ef75148]{display:flex;flex-direction:column}.grid-header[data-v-99c3ea3a]{display:flex;flex-direction:column;gap:1rem;margin-bottom:var(--spacing-lg);width:100%}.grid-header-title[data-v-99c3ea3a]{color:var(--color-primary-foreground);flex:1;font-size:var(--font-size-base);margin-bottom:0}.grid-header-date[data-v-99c3ea3a]{margin-top:0}.grid-header-meta[data-v-99c3ea3a]{align-items:center;display:flex;gap:1rem}.grid-header-badges[data-v-99c3ea3a]{display:flex}.grid-header-date[data-v-99c3ea3a]{color:var(--color-text);font-size:var(--font-size-xs)}.grid-item[data-v-0b1343ef]{display:flex;flex-direction:column;min-height:40rem;opacity:0}.layout--revealed .grid-item[data-v-0b1343ef]{animation:feed-item-in-0b1343ef .4s ease forwards;animation-delay:calc(var(--reveal-index, 0)*80ms)}@keyframes feed-item-in-0b1343ef{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.grid-item[data-v-0b1343ef],.layout--revealed .grid-item[data-v-0b1343ef]{animation:none;opacity:1}}.section-split-item[data-v-569d2c66]{padding-bottom:var(--spacing-lg)}.section-split-item--padding-tight[data-v-569d2c66]{padding:var(--spacing-lg) 0;padding-bottom:var(--spacing-lg)}.section-split-item--padding-none[data-v-569d2c66]{padding-bottom:0}.section-split-item-title[data-v-569d2c66]{color:var(--color-primary-foreground);font-weight:var(--font-weight-normal);margin:0 0 var(--spacing-sm) 0}.section-split-item-title--xs[data-v-569d2c66]{font-size:var(--font-size-xs)}.section-split-item-title--sm[data-v-569d2c66]{font-size:var(--font-size-sm)}.section-split-item-description[data-v-569d2c66]{color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height);margin:0}.section-split-item-description--muted[data-v-569d2c66]{color:var(--color-text)}.section-split-items[data-v-5854fafb]{display:flex;flex-direction:column}.section-split-items--gap-default[data-v-5854fafb]{gap:var(--spacing-lg)}.section-split-items--gap-none[data-v-5854fafb],.section-split-items--gap-tight[data-v-5854fafb]{gap:0}.button[data-v-5c53ea60]{border-radius:var(--border-radius);cursor:pointer;display:inline-block;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:background .2s ease}.button--primary[data-v-5c53ea60]{background:var(--color-primary-foreground);color:var(--color-primary)}.button--primary[data-v-5c53ea60]:hover{opacity:.9}.button--secondary[data-v-5c53ea60]{background:var(--color-primary-foreground);color:var(--color-primary)}.button--secondary[data-v-5c53ea60]:hover{opacity:.9}.button--dark.button--secondary[data-v-5c53ea60]{background:var(--color-primary-foreground);color:var(--color-primary)}.button--dark.button--secondary[data-v-5c53ea60]:hover{opacity:.9}.home.page-content[data-v-7c510add]{padding:var(--spacing-giant) 0 var(--spacing-giant);width:100%}.home[data-v-7c510add] .content--padding-lg{padding:0 var(--spacing-screen)}.home[data-v-7c510add] .content-section--full{margin:0}.home[data-v-7c510add] .grid{gap:var(--spacing-screen)}.feed-grid[data-v-7c510add]{position:relative;transition:opacity .3s ease}.feed-grid--faded[data-v-7c510add]{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.feed-grid[data-v-7c510add]{transition:none}}.feed-item-text[data-v-7c510add]{color:var(--color-text);font-size:var(--font-size-sm);white-space:pre-line}[data-v-7c510add] .feed-booking-button{align-self:flex-start;margin-top:var(--spacing-lg);width:auto}
