:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--space-4xl:144px;--text-xs:.8125rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5625rem;--text-2xl:1.953rem;--text-3xl:2.441rem;--text-display-s:clamp(2.25rem, 4vw + .5rem, 3.75rem);--text-display:clamp(2.75rem, 5vw + 1rem, 5.25rem);--text-section:clamp(2rem, 2.5vw + 1rem, 3.5rem);--text-title:clamp(1.25rem, .75vw + .875rem, 1.625rem);--text-lead:clamp(1.125rem, .35vw + 1rem, 1.375rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--color-error:oklch(72% .15 27);--color-success:oklch(76% .13 150);--container:1440px;--gutter:64px;--gap-columns:32px;--section-gap-s:120px;--section-gap:144px;--section-gap-l:176px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-sticky-nav:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--color-paper:oklch(13.5% .012 235);--color-paper-2:oklch(17% .014 235);--color-paper-3:oklch(21% .016 235);--color-ink:oklch(95% .006 230);--color-ink-2:oklch(82% .012 230);--color-muted:oklch(66% .016 230);--color-rule:oklch(27% .014 235);--color-rule-2:oklch(34% .016 235);--color-accent:oklch(89% .19 126);--color-accent-hi:oklch(93% .17 126);--color-accent-ink:oklch(19% .04 126);--color-focus:oklch(89% .19 126);--point-lo:oklch(42% .04 245);--point-mid:oklch(70% .04 232);--point-hi:oklch(96% .02 215);--color-slot:oklch(21% .016 235);--font-display:"Geologica", ui-sans-serif, system-ui, sans-serif;--font-body:"Geologica", ui-sans-serif, system-ui, sans-serif;--radius-card:4px;--radius-pill:999px;--rule-hair:1px;--tick:10px;--shadow-card:none;--tracking-display:-.035em;--display-weight:300}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{scrollbar-color:var(--color-muted) var(--color-paper);scroll-padding-top:var(--space-3xl)}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;caret-color:var(--color-accent);margin:0;line-height:1.55}::selection{background:color-mix(in oklab, var(--color-accent) 22%, transparent);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-underline-offset:.16em;text-decoration-thickness:1px}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight,700);font-synthesis:none;letter-spacing:var(--tracking-display);overflow-wrap:break-word;text-wrap:balance;min-width:0;margin:0;line-height:1.05}h1{max-width:20ch;font-size:var(--text-display)}h2{max-width:30ch;font-size:var(--text-section)}h3{max-width:40ch;font-size:var(--text-title);line-height:1.2}.lead{font-size:var(--text-lead);max-width:52ch;line-height:1.45}p{text-wrap:pretty;margin:0}p:not([class]){max-width:65ch}img,video{max-width:100%;height:auto;display:block}svg{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);box-sizing:border-box;margin-inline:auto}.num,.figure,td.num{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-slot]{background:linear-gradient(160deg, var(--color-paper-2,var(--color-paper)), var(--color-paper-3,var(--color-paper)));position:relative;overflow:hidden}[data-slot]>img{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}[data-slot]:has(>img)>:not(img):not([data-keep]){display:none!important}@media (width<=60rem){:root{--gutter:24px;--section-gap-s:80px;--section-gap:96px;--section-gap-l:120px}}@media (width<=40rem){:root{--gutter:16px;--section-gap-s:56px;--section-gap:72px;--section-gap-l:96px;--gap-columns:16px}}@media (prefers-reduced-motion:reduce){:not(.keep-motion),:not(.keep-motion):before,:not(.keep-motion):after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-slot]>img{filter:saturate(.8)contrast(1.06)}[data-slot][data-kind=product]>img{filter:none}body{font-variation-settings:"SHRP" 0;font-size:1.0625rem;font-weight:300;line-height:1.6}h1,h2,h3{font-weight:var(--display-weight);font-variation-settings:"SHRP" 100;line-height:1}h3{font-weight:400}.num{font-variant-numeric:tabular-nums;font-weight:400}.u{color:var(--color-muted);font-size:.6em}.skip{left:var(--space-md);top:var(--space-md);z-index:var(--z-modal);padding:var(--space-xs) var(--space-md);background:var(--color-accent);color:var(--color-accent-ink);position:absolute;transform:translateY(-200%)}.skip:focus-visible{transform:none}.ticks{position:relative}.ticks:before{content:"";pointer-events:none;border:var(--rule-hair) solid var(--color-rule-2);-webkit-mask:conic-gradient(at var(--tick) var(--tick), transparent 75%, var(--color-ink) 0) 0 0 / calc(100% - var(--tick)) calc(100% - var(--tick));-webkit-mask:conic-gradient(at var(--tick) var(--tick), transparent 75%, var(--color-ink) 0) 0 0 / calc(100% - var(--tick)) calc(100% - var(--tick));mask:conic-gradient(at var(--tick) var(--tick), transparent 75%, var(--color-ink) 0) 0 0 / calc(100% - var(--tick)) calc(100% - var(--tick));position:absolute;inset:0}.btn{min-height:48px;padding:0 var(--space-lg);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-ink);font:400 var(--text-md)/1 var(--font-body);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn:hover{background:var(--color-accent-hi)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.btn--line{color:var(--color-ink);box-shadow:inset 0 0 0 var(--rule-hair) var(--color-rule-2);background:0 0}.btn--line:hover{background:var(--color-paper-2)}.nav .btn{min-height:40px}a:not(.btn):not(.nav__mark):not(.skip){color:var(--color-ink);-webkit-text-decoration-color:var(--color-rule-2);text-decoration-color:var(--color-rule-2);transition:text-decoration-color var(--dur-short) var(--ease-out)}a:not(.btn):not(.nav__mark):not(.skip):hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.nav{border-bottom:var(--rule-hair) solid var(--color-rule)}.nav__bar{justify-content:space-between;align-items:center;gap:var(--space-lg);min-height:72px;display:flex}.nav__mark{font:400 var(--text-lg)/1 var(--font-display);font-variation-settings:"SHRP" 100;letter-spacing:var(--tracking-display);color:var(--color-ink);text-decoration:none}.nav__links{align-items:center;gap:var(--space-lg);display:flex}.nav__link{font-size:var(--text-md);color:var(--color-ink-2);text-decoration:none}.nav__link:hover{color:var(--color-ink)}.hero{isolation:isolate;padding-block:var(--space-2xl);position:relative}.hero__grid{z-index:1;gap:var(--space-2xl);min-height:calc(100dvh - 72px - 2 * var(--space-2xl));grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;display:grid;position:relative}.hero__text{gap:var(--space-lg);display:grid}.hero h1{font-size:clamp(2.75rem,3.6vw + 1rem,5rem)}.hero .lead{color:var(--color-ink-2)}.hero__actions{gap:var(--space-sm);padding-top:var(--space-xs);flex-wrap:wrap;display:flex}.hero__film{gap:var(--space-sm);padding:var(--space-sm);margin:0;display:grid}.hero__frame{z-index:1;aspect-ratio:16/9;border-radius:var(--radius-card);background:var(--color-slot);color:var(--color-ink)}.hero__frame video,.film-play{width:100%;height:100%;position:absolute;inset:0}.hero__frame video{object-fit:cover}.film-play{z-index:1;cursor:pointer;display:block}.film-play img{object-fit:cover;width:100%;height:100%;transition:opacity var(--dur-short) var(--ease-out)}.film-play:hover img{opacity:.88}.film-play:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.caption{font-size:var(--text-sm);color:var(--color-muted)}.film{padding-top:var(--section-gap-s)}.map,.work,.case{padding-top:var(--section-gap-l)}.services{padding-top:var(--section-gap)}.band{margin-top:var(--section-gap);padding-block:var(--section-gap-s);background:var(--color-paper-2);color:var(--color-ink)}.close{padding-block:var(--section-gap-l)}.split-head{gap:var(--gap-columns);margin-bottom:var(--space-2xl);grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:end;display:grid}.split-head .lead{color:var(--color-ink-2)}.map__panel{padding:var(--space-xl);overflow-x:auto}.map__table{border-collapse:separate;border-spacing:0;width:100%;min-width:60rem}.map__table thead th{padding:0 var(--space-lg) var(--space-md) 0;font:400 var(--text-sm)/1.3 var(--font-body);color:var(--color-muted);text-align:left}.map__table tbody th{width:15rem;padding:var(--space-lg) var(--space-lg) var(--space-lg) 0;font:400 var(--text-lg)/1.25 var(--font-display);color:var(--color-ink);text-align:left;vertical-align:middle;border-top:var(--rule-hair) solid var(--color-rule)}.map__table td{padding:var(--space-lg) var(--space-sm) var(--space-lg) 0;vertical-align:middle;border-top:var(--rule-hair) solid var(--color-rule)}.map__table td:last-child{padding-right:0}.node{align-items:center;gap:var(--space-sm);color:var(--color-ink-2);line-height:1.35;display:flex;position:relative}.map__table td:not(:last-child) .node:after{content:"";min-width:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule-2);flex:1}.node--check{padding-left:var(--space-md);color:var(--color-ink)}.node--check:before{content:"";border-left:2px solid var(--color-accent);position:absolute;top:.15em;bottom:.15em;left:0}.work h2{margin-bottom:var(--space-2xl)}.work__grid{gap:var(--space-2xl);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;display:grid}.work__table tbody th{width:38%}.work__preview{top:var(--space-xl);padding:var(--space-sm);position:sticky}.work__screens{aspect-ratio:16/10;border-radius:var(--radius-card);background:var(--color-slot);position:relative;overflow:hidden}.work__screens img{object-fit:cover;object-position:0 0;width:100%;height:100%;transition:opacity var(--dur-long) var(--ease-out), transform var(--dur-long) var(--ease-out);position:absolute;inset:0}.js .work__screens img:not(.is-active){opacity:0;transform:scale(1.03)}.work__preview .caption{margin-top:var(--space-sm)}.work__table{border-collapse:collapse;width:100%}.work__table thead th{padding-bottom:var(--space-sm);font:400 var(--text-sm)/1.3 var(--font-body);color:var(--color-muted);text-align:left;border-bottom:var(--rule-hair) solid var(--color-rule-2)}.work__table tbody th,.work__table td{padding-block:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule);text-align:left;vertical-align:baseline}.work__table tbody th{padding-right:var(--space-lg);padding-left:var(--space-sm);font:400 var(--text-title)/1.2 var(--font-display);font-variation-settings:"SHRP" 100;letter-spacing:var(--tracking-display)}.work__table td{font-size:var(--text-lead);color:var(--color-ink-2);padding-right:var(--space-lg)}.work__table tbody tr{transition:background-color var(--dur-short) var(--ease-out)}.work__table tbody th{transition:transform var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out)}.work__table tbody tr[data-active]{background:var(--color-paper-2)}.work__table tbody tr[data-active] th{transform:translateX(var(--space-sm))}.work__table tbody tr[data-active] td{color:var(--color-ink)}.work__links{white-space:nowrap;text-align:right;font-size:var(--text-md)}.work__links a{margin-left:var(--space-md)}.case__grid{gap:var(--space-2xl);grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:center;display:grid}.case__frame{padding:var(--space-lg);background:var(--color-paper-2);border-radius:var(--radius-card)}.case__shot{aspect-ratio:1260/600;border-radius:var(--radius-card);background:var(--color-slot);margin:0}.case__shot img{object-position:0 0}.case__text{gap:var(--space-lg);display:grid}.case__text .lead{color:var(--color-ink-2)}.facts{gap:var(--space-lg) var(--gap-columns);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.facts div{padding-top:var(--space-sm);border-top:var(--rule-hair) solid var(--color-rule-2)}.facts dt{font-size:var(--text-sm);color:var(--color-muted)}.facts dd{margin:var(--space-2xs) 0 0;font-size:var(--text-3xl);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums;font-weight:200;line-height:1}.case__links{gap:var(--space-lg);flex-wrap:wrap;display:flex}.services__grid{gap:var(--gap-columns);grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;display:grid}.services h2{max-width:12ch}.rows{margin:0;padding:0;list-style:none}.rows li{gap:var(--gap-columns);padding-block:var(--space-xl);border-top:var(--rule-hair) solid var(--color-rule);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:baseline;display:grid}.rows li:last-child{border-bottom:var(--rule-hair) solid var(--color-rule)}.rows p{color:var(--color-ink-2)}.about__grid{gap:var(--space-3xl);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;display:grid}.about__photo{aspect-ratio:4/5;border-radius:var(--radius-card);margin:0}.about__photo img{object-position:50% 30%}.about__text h2{margin-bottom:var(--space-2xl)}.roles{margin:0;padding:0;list-style:none}.roles li{gap:var(--space-2xs);padding-block:var(--space-xl);border-top:var(--rule-hair) solid var(--color-rule-2);display:grid}.roles li:last-child{border-bottom:var(--rule-hair) solid var(--color-rule-2)}.roles h3{font-size:var(--text-title)}.roles p{color:var(--color-ink-2)}.roles .roles__when{font-size:var(--text-sm);color:var(--color-muted);font-variant-numeric:tabular-nums}.close__head{max-width:16ch;font-size:var(--text-display);margin-bottom:var(--space-3xl)}.close__details{gap:var(--gap-columns);grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));margin:0;display:grid}.close__details div{padding-top:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule-2)}.close__details dt{font-size:var(--text-sm);color:var(--color-muted)}.close__details dd{margin:var(--space-xs) 0 0;font-size:var(--text-lead);color:var(--color-ink)}.close__email{font-size:var(--text-lead);white-space:nowrap}.close__links{gap:var(--space-lg);display:flex}.foot{border-top:var(--rule-hair) solid var(--color-rule)}.foot__bar{justify-content:space-between;gap:var(--space-lg);padding-block:var(--space-xl) var(--space-2xl);color:var(--color-muted);font-size:var(--text-sm);display:flex}.proof{gap:var(--space-md);padding:var(--space-lg);animation:settle .7s var(--ease-out) .24s both;margin:0;display:grid}.proof__canvas{aspect-ratio:4/3;width:100%;max-height:62dvh;display:block}.proof__caption{justify-content:space-between;align-items:baseline;gap:var(--space-xs) var(--space-lg);padding-top:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule);flex-wrap:wrap;display:flex}.proof__name{font:400 var(--text-title)/1.2 var(--font-display);font-variation-settings:"SHRP" 100;letter-spacing:var(--tracking-display);color:var(--color-ink)}.proof__fact{font-size:var(--text-lead);color:var(--color-accent);font-variant-numeric:tabular-nums}.proof__picker{gap:var(--space-xs);flex-wrap:wrap;display:flex}.proof__pick{min-height:44px;padding:0 var(--space-md);border-radius:var(--radius-pill);color:var(--color-muted);font:400 var(--text-sm)/1 var(--font-body);box-shadow:inset 0 0 0 var(--rule-hair) var(--color-rule);cursor:pointer;transition:color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out);background:0 0;border:0}.proof__pick:hover{color:var(--color-ink);box-shadow:inset 0 0 0 var(--rule-hair) var(--color-rule-2)}.proof__pick:active{color:var(--color-ink)}.proof__pick:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.proof__pick[aria-pressed=true]{color:var(--color-ink);box-shadow:inset 0 0 0 var(--rule-hair) var(--color-ink-2)}.proof__pick:disabled{opacity:.55;cursor:not-allowed}@keyframes settle{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.hero__text>*{animation:settle .7s var(--ease-out) both}.hero__text>:nth-child(2){animation-delay:80ms}.hero__text>:nth-child(3){animation-delay:.16s}.js [data-reveal]{opacity:0;transition:opacity .64s var(--ease-out), transform .64s var(--ease-out);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(18px)}.js [data-reveal].is-in{opacity:1;transform:none}.js .map__table tr[data-reveal] td{opacity:0;transition:opacity .42s var(--ease-out)}.js .map__table tr[data-reveal].is-in td{opacity:1}.js .map__table tr[data-reveal].is-in td:nth-child(2){transition-delay:calc(var(--i,0) * 70ms + .12s)}.js .map__table tr[data-reveal].is-in td:nth-child(3){transition-delay:calc(var(--i,0) * 70ms + .26s)}.js .map__table tr[data-reveal].is-in td:nth-child(4){transition-delay:calc(var(--i,0) * 70ms + .4s)}.js .map__table tr[data-reveal].is-in td:nth-child(5){transition-delay:calc(var(--i,0) * 70ms + .54s)}.js .map__table tr[data-reveal] .node:after{transform-origin:0;transition:transform .38s var(--ease-out);transform:scaleX(0)}.js .map__table tr[data-reveal].is-in .node:after{transition-delay:calc(var(--i,0) * 70ms + .3s);transform:none}.js .map__table tr[data-reveal] .node--check:before{transition:transform .3s var(--ease-out);transform:scaleY(0)}.js .map__table tr[data-reveal].is-in .node--check:before{transition-delay:calc(var(--i,0) * 70ms + .72s);transform:none}@media (width<=60rem){.work__grid{grid-template-columns:minmax(0,1fr)}.work__preview{display:none}.hero__grid,.case__grid,.services__grid,.split-head,.about__grid{grid-template-columns:minmax(0,1fr)}.about__grid{gap:var(--space-xl)}.about__photo{max-width:28rem}.close__details{grid-template-columns:repeat(2,minmax(0,1fr))}.hero__grid{gap:var(--space-xl);min-height:0}.services h2{max-width:none}.work__table thead{display:none}.work__table tr{gap:var(--space-xs);padding-block:var(--space-lg);border-bottom:var(--rule-hair) solid var(--color-rule);display:grid}.work__table tbody th,.work__table td{border:0;width:auto;padding:0}.work__links{text-align:left}.work__links a{margin:0 var(--space-md) 0 0}.rows li{gap:var(--space-xs);grid-template-columns:minmax(0,1fr)}.map__panel{padding:var(--space-lg);overflow-x:visible}.map__table,.map__table tbody,.map__table tr,.map__table th,.map__table td{width:auto;min-width:0;display:block}.map__table thead{display:none}.map__table tr{padding-block:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule)}.map__table tr:first-child{border-top:0;padding-top:0}.map__table tbody th,.map__table td{border:0;padding:0}.map__table tbody th{margin-bottom:var(--space-xs)}.map__table td+td{margin-top:var(--space-2xs)}.map__table td:not(:last-child) .node:after{content:none}}@media (width<=40rem){.nav__link{display:none}.close__details{grid-template-columns:minmax(0,1fr)}.facts dd{font-size:var(--text-2xl)}.foot__bar{flex-direction:column}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){.btn,.btn:active{transition:none;transform:none}.hero__text>*,.proof{animation:none}.proof__pick{transition:none}.js [data-reveal],.js .map__table tr[data-reveal] td,.js .map__table tr[data-reveal] .node:after,.js .map__table tr[data-reveal] .node--check:before{opacity:1;transition:none;transform:none}.work__screens img,.work__table tbody tr,.work__table tbody th{transition:none}}
