.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius-control);background:var(--color-accent);color:var(--color-accent-ink);padding:.65rem .9rem;position:fixed;inset-block-start:.75rem;inset-inline-start:-999px}.skip-link:focus{inset-inline-start:.75rem}.portfolio-canvas{box-sizing:border-box;width:100%;min-width:0}.portfolio-loading{min-height:100svh;color:var(--color-ink-muted);place-items:center;padding:1rem;display:grid}.portfolio-canvas main{min-width:0;padding:.5rem}.static-page-main{overflow-x:clip}.portfolio-work,.portfolio-gallery{min-width:0}.portfolio-gallery{width:100%;position:relative;overflow:clip}.media-tile{box-sizing:border-box;outline:1px solid var(--color-edge);outline-offset:-1px;background:color-mix(in oklch, var(--color-canvas) 88%, var(--color-ink));min-width:0;color:var(--color-ink);cursor:zoom-in;touch-action:manipulation;border:0;border-radius:0;padding:0;display:block;position:absolute;overflow:hidden}.media-tile picture,.media-tile img{width:100%;height:100%;display:block}.media-tile img{-o-object-fit:cover;object-fit:cover}.media-tile:focus-visible{z-index:2;outline:3px solid var(--color-accent);outline-offset:-3px;box-shadow:inset 0 0 0 2px var(--color-ink)}.film-marker{background:var(--color-canvas);min-height:1.75rem;color:var(--color-ink);font-size:var(--text-caption);border-radius:.25rem;align-items:center;gap:.3rem;padding-inline:.45rem;line-height:1;display:inline-flex;position:absolute;inset-block-end:.5rem;inset-inline-start:.5rem}.film-marker svg,.icon-control svg,.menu-control svg,.panel-link svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:1.125rem;height:1.125rem}.film-marker svg{width:.9rem;height:.9rem}.menu-control svg{width:1.35rem;height:1.35rem}.portfolio-sidebar{box-sizing:border-box;flex-direction:column;align-self:start;min-height:calc(100svh - 2.5rem);max-height:calc(100svh - 2.5rem);padding-inline:.25rem;display:flex;position:sticky;inset-block-start:1.25rem;overflow-y:auto}.portfolio-brand,.mobile-brand{display:block;overflow:hidden}.portfolio-logo{-o-object-fit:contain;object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%;display:block;transform:scale(1.42)}:root[data-theme=dark] .portfolio-logo{filter:invert();mix-blend-mode:screen}.category-filters{align-items:start;gap:.1rem;display:grid}.category-filter,.rail-link,.enquire-link,.contact-link,.panel-link{color:inherit;text-decoration:none}.category-filter,.rail-link{box-sizing:border-box;width:100%;min-height:2.75rem;color:var(--color-ink-muted);text-align:start;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:0;padding:.6rem .25rem;font-size:1rem;font-weight:500}.category-filter[aria-pressed=true]{color:var(--color-ink);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.35rem;font-weight:680;font-stretch:112%;text-decoration-thickness:.22rem}.rail-link{align-items:center;margin-block-start:1.5rem;display:flex}.rail-meta{margin-block-start:auto}.rail-controls,.mobile-header__actions{align-items:center;gap:.25rem;display:flex}.icon-control,.menu-control,.mobile-enquire{box-sizing:border-box;border-radius:var(--radius-control);min-width:2.75rem;min-height:2.75rem;color:var(--color-ink);cursor:pointer;touch-action:manipulation;background:0 0;border:0;place-items:center;padding:0;text-decoration:none;display:inline-grid}.appearance-control{position:relative}.appearance-control svg{opacity:0;position:absolute}.appearance-control svg.is-active{opacity:1}.contact-link{overflow-wrap:anywhere;max-width:100%;color:var(--color-ink-muted);font-size:var(--text-caption);margin-block-start:1.25rem;display:block}.enquire-link{box-sizing:border-box;border-radius:var(--radius-control);background:var(--color-accent);min-height:2.75rem;color:var(--color-accent-ink);justify-content:center;align-items:center;margin-block-start:.75rem;padding-inline:1rem;font-weight:650;display:inline-flex}.mobile-header{z-index:20;box-sizing:border-box;min-height:4.25rem;padding:max(.4rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) .4rem max(.5rem, env(safe-area-inset-left));background:var(--color-canvas);justify-content:space-between;align-items:center;gap:.25rem;display:flex;position:sticky;inset-block-start:0}.mobile-brand{flex:0 0 3.5rem;height:3.5rem}.mobile-header__actions{min-width:0}.menu-control,.mobile-enquire{font-size:var(--text-ui);padding-inline:.55rem}.menu-control{padding-inline:0}.mobile-enquire{background:var(--color-accent);color:var(--color-accent-ink);font-weight:650}.mobile-navigation-layer{z-index:50;visibility:hidden;pointer-events:none;position:fixed;inset:0}.mobile-navigation-layer[data-open=true]{visibility:visible;pointer-events:auto}.mobile-navigation-backdrop{opacity:0;background:oklch(23.5% .012 255/.52);border:0;border-radius:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.mobile-navigation-panel{box-sizing:border-box;width:min(88vw,22rem);max-width:100%;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));overscroll-behavior:contain;background:color-mix(in oklch, var(--color-canvas) 82%, var(--color-accent));color:var(--color-ink);flex-direction:column;display:flex;position:absolute;inset-block:0;inset-inline-start:0;overflow-y:auto;transform:translate(-100%)}[dir=rtl] .mobile-navigation-panel{transform:translate(100%)}.mobile-navigation-layer[data-open=true] .mobile-navigation-backdrop{opacity:1}.mobile-navigation-layer[data-open=true] .mobile-navigation-panel{transform:translate(0)}.mobile-navigation-heading{justify-content:space-between;align-items:center;gap:1rem;margin-block-end:1.75rem;display:flex}.mobile-navigation-heading h2{font-size:var(--text-display-sm);margin:0}.close-control{flex:0 0 2.75rem}.mobile-navigation-meta{gap:.5rem;margin-block-start:auto;padding-block-start:2rem;display:grid}.panel-link{align-items:center;gap:.55rem;min-height:2.75rem;display:flex}@media (width>=56rem){.mobile-header,.mobile-navigation-layer{display:none}.portfolio-canvas{grid-template-columns:13.5rem minmax(0,1fr);gap:1.5rem;padding:1.25rem;display:grid}.portfolio-canvas main{padding:0}.portfolio-brand{width:10.5rem;height:7.25rem;margin-block-end:1.5rem}}@media (width<=55.999rem){.portfolio-sidebar{display:none}}@media (prefers-reduced-motion:no-preference){.media-tile{transition-property:opacity,transform;transition-duration:.18s;transition-timing-function:cubic-bezier(.2,0,0,1)}.portfolio-gallery[data-filter-changing=true] .media-tile{opacity:.54;transform:translateY(.5rem)}.icon-control,.menu-control,.mobile-enquire,.enquire-link{transition-property:color,background-color,opacity,transform;transition-duration:.16s;transition-timing-function:cubic-bezier(.2,0,0,1)}.icon-control:active,.menu-control:active,.mobile-enquire:active,.enquire-link:active{transform:scale(.96)}.appearance-control svg{filter:blur(4px);transition-property:opacity,transform,filter;transition-duration:.18s;transition-timing-function:cubic-bezier(.2,0,0,1);transform:scale(.25)rotate(-25deg)}.appearance-control svg.is-active{filter:blur();transform:scale(1)rotate(0)}.mobile-navigation-backdrop,.mobile-navigation-panel{transition-property:opacity,transform;transition-duration:.2s;transition-timing-function:cubic-bezier(.2,0,0,1)}}@media (forced-colors:active){.media-tile,.category-filter[aria-pressed=true],.enquire-link,.mobile-enquire{border:1px solid canvastext}.category-filter[aria-pressed=true]{text-decoration-color:highlight}}.about-page{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr);align-content:start;align-items:start;gap:clamp(3rem,6vw,6rem);width:min(100%,78rem);min-height:calc(100svh - 2.5rem);padding:clamp(3rem,8vw,7rem) max(1rem,4vw);display:grid}.about-page h1{max-width:8ch;margin:0;font-size:clamp(3rem,5vw,5.5rem);font-weight:650;line-height:.94}.about-copy{max-width:38rem;font-size:clamp(1.05rem,1rem + .35vw,1.3rem)}.about-copy p{margin:0 0 1.25rem}.about-email{color:inherit;font-family:var(--font-display);text-underline-offset:.25rem;margin-block-start:1.5rem;font-weight:650;display:inline-block}@media (width<=72rem){.about-page{grid-template-columns:1fr;gap:2.5rem}.about-page h1{max-width:none}}@media (width<=55.999rem){.about-page{min-height:calc(100svh - 4.25rem);padding-block-start:3rem}}.enquiry-section{box-sizing:border-box;width:min(100%,72rem);min-height:calc(100svh - 2.5rem);padding:clamp(3rem, 8vw, 7rem) max(1rem, 4vw) max(4rem, env(safe-area-inset-bottom));align-content:start;gap:clamp(2rem,6vw,6rem);display:grid}.enquiry-intro h1{font-size:var(--text-display-md);margin:0 0 1rem}.enquiry-intro p{max-width:32rem;color:var(--color-ink-muted);margin:0}.enquiry-email{color:var(--color-ink);text-underline-offset:.2em;margin-block-start:1rem;display:inline-block}.enquiry-form{align-content:start;gap:1rem;display:grid}.enquiry-field{gap:.35rem;display:grid}.enquiry-field label{font-family:var(--font-display);font-size:var(--text-ui);font-weight:620}.enquiry-field input,.enquiry-field select,.enquiry-field textarea{box-sizing:border-box;border:1px solid color-mix(in oklch, var(--color-ink) 28%, transparent);border-radius:var(--radius-control);background:var(--color-canvas);width:100%;min-height:2.75rem;color:var(--color-ink);font:inherit;padding:.65rem .75rem}.enquiry-field textarea{resize:vertical;min-height:9rem}.enquiry-field input:focus-visible,.enquiry-field select:focus-visible,.enquiry-field textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;box-shadow:0 0 0 1px var(--color-ink)}.enquiry-submit{border-radius:var(--radius-control);background:var(--color-accent);min-height:2.75rem;color:var(--color-accent-ink);cursor:pointer;border:0;justify-self:start;padding-inline:1rem;font-weight:650}.enquiry-submit:disabled{cursor:wait;opacity:.62}.enquiry-status{min-height:1.6rem;color:var(--color-ink-muted)}.enquiry-status p{margin:0}@media (width>=48rem){.enquiry-section{grid-template-columns:minmax(14rem,.7fr) minmax(20rem,1fr)}}@media (width<=55.999rem){.enquiry-section{min-height:calc(100svh - 4.25rem)}}@media (forced-colors:active){.enquiry-submit{border:1px solid buttontext}}.lightbox{background:var(--color-canvas);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--color-ink);border:0;padding:0;position:fixed;overflow:hidden}.lightbox::backdrop{background:oklch(23.5% .012 255/.72)}.lightbox-layout{grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);width:100%;height:calc(100dvh - 4.25rem);min-height:0;display:grid}.lightbox-stage{box-sizing:border-box;touch-action:pan-y;-webkit-user-select:none;user-select:none;place-items:center;min-width:0;min-height:0;padding:.75rem;display:grid}.lightbox-picture{display:contents}.lightbox-media{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.lightbox-toolbar{min-height:4.25rem;padding:0 max(.75rem, env(safe-area-inset-right)) max(.25rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));background:var(--color-canvas);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:absolute;inset-block-end:0;inset-inline:0}.lightbox-navigation{align-items:center;gap:.4rem;display:flex}.lightbox-control{box-sizing:border-box;border-radius:var(--radius-control);min-width:2.75rem;min-height:2.75rem;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.lightbox-toolbar>.lightbox-control{justify-self:start}.lightbox-control svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:1.25rem;height:1.25rem}.lightbox-count{min-width:3.5rem;color:var(--color-ink-muted);font-size:var(--text-caption);text-align:center}.lightbox-info{box-sizing:border-box;background:color-mix(in oklch, var(--color-canvas) 86%, var(--color-accent));padding:clamp(1.5rem,4vw,3rem);overflow-y:auto}.lightbox-info h2{font-size:var(--text-display-sm);margin:0 0 .75rem}.lightbox-info p{color:var(--color-ink-muted);text-transform:capitalize;margin:0}@media (prefers-reduced-motion:no-preference){.lightbox[open]{animation:.18s cubic-bezier(.2,0,0,1) lightbox-in}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}}@media (width<=47.999rem){.lightbox-layout{overscroll-behavior:contain;display:block;overflow-y:auto}.lightbox-stage{height:min(68dvh,42rem)}.lightbox-info{min-height:9rem;overflow:visible}}@media (forced-colors:active){.lightbox-control{border:1px solid buttontext}}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-standard-normal-oos9povj.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-standard-normal-Bf69Tn_J.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nohemi;src:url(/fonts/nohemi-semibold.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:600}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:oklch(96.5% .025 88);--color-ink:oklch(26% .012 255);--color-ink-muted:oklch(47% .012 255);--color-accent:oklch(72% .115 34);--color-accent-ink:oklch(23% .012 255);--color-edge:oklch(26% .012 255/.1);--color-selection:oklch(72% .115 34/.42);--radius-control:.5rem;--font-display:"Nohemi", sans-serif;--font-body:"DM Sans Variable", sans-serif;--text-body:1rem;--text-ui:.875rem;--text-caption:.8125rem;--text-display-sm:clamp(1.375rem, 1.18rem + .55vw, 1.75rem);--text-display-md:clamp(1.75rem, 1.38rem + 1.05vw, 2.5rem);--leading-body:1.55;--leading-display:1.1}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:oklch(23.5% .012 255);--color-ink:oklch(93% .02 80);--color-ink-muted:oklch(74% .014 255);--color-accent:oklch(79% .095 39);--color-accent-ink:oklch(22% .012 255);--color-edge:oklch(93% .02 80/.1);--color-selection:oklch(79% .095 39/.38)}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:oklch(23.5% .012 255);--color-ink:oklch(93% .02 80);--color-ink-muted:oklch(74% .014 255);--color-accent:oklch(79% .095 39);--color-accent-ink:oklch(22% .012 255);--color-edge:oklch(93% .02 80/.1);--color-selection:oklch(79% .095 39/.38)}}html{background:var(--color-canvas);min-height:100%;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body,#root{min-height:100%}body{background:var(--color-canvas);color:var(--color-ink);margin:0}button,input,select,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px;box-shadow:0 0 0 3px var(--color-accent)}::selection{background:var(--color-selection);color:var(--color-accent-ink)}.font-display{font-family:var(--font-display);font-stretch:100%;line-height:var(--leading-display);text-wrap:balance}.text-body{text-wrap:pretty;max-width:68ch}@media (forced-colors:active){:focus-visible{box-shadow:none;outline-color:highlight}}@media (prefers-reduced-motion:no-preference){:root.theme-changing,:root.theme-changing *,:root.theme-changing :before,:root.theme-changing :after{transition-property:background-color,color,border-color,outline-color;transition-duration:.6s;transition-timing-function:cubic-bezier(.2,0,0,1)}::view-transition-old(root){animation-duration:.6s;animation-timing-function:cubic-bezier(.2,0,0,1)}::view-transition-new(root){animation-duration:.6s;animation-timing-function:cubic-bezier(.2,0,0,1)}::view-transition-old(root){animation-name:none}::view-transition-new(root){animation-name:theme-wash-in}@keyframes theme-wash-in{0%{clip-path:circle(0 at var(--theme-origin-x,50vw) var(--theme-origin-y,50vh))}to{clip-path:circle(150vmax at var(--theme-origin-x,50vw) var(--theme-origin-y,50vh))}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}}
