@media (width<=999px){:root{--bar-h:calc(56px + env(safe-area-inset-top));--nav-h:var(--bar-h);--gutter-left:max(20px, env(safe-area-inset-left));--gutter-right:max(20px, env(safe-area-inset-right));--gutter:max(20px, env(safe-area-inset-left), env(safe-area-inset-right));--stage-top:46svh;--soft:12svh;--pager-h:calc(56px + env(safe-area-inset-bottom));--type-h1:clamp(36px, 10.5vw, 46px);--type-title:35px;--type-claim:19px;--type-step:20px;--type-small:15px;--type-eyebrow:14px;--track-eyebrow:.08em;--tap:44px;--pill-h:48px;--footer-fade:40px}html{-webkit-tap-highlight-color:transparent;scroll-padding-top:calc(var(--bar-h) + 8px);scroll-padding-bottom:calc(var(--pager-h) + 20px);background-repeat:repeat,repeat,repeat,repeat,repeat,repeat,repeat,no-repeat;background-size:420px 420px,380px 380px,520px 520px,460px 460px,400px 400px,560px 560px,480px 480px,100% 100lvh;background-attachment:scroll;font-size:17px}.eyebrow,.proj__cat,.person__role,.proj__num{font-size:var(--type-eyebrow);letter-spacing:var(--track-eyebrow)}.proj__built{font-size:var(--type-eyebrow)}.skip-link:focus{top:calc(env(safe-area-inset-top) + 6px)}.nav{height:var(--bar-h);padding:env(safe-area-inset-top) var(--gutter-right) 0 var(--gutter-left);background:var(--night);-webkit-backdrop-filter:none;backdrop-filter:none;transition:background-color .25s var(--ease-out);border-bottom:0;gap:12px}:root.phone-under-bar .nav,:root.phone-under-bar .nav:after{transition:none}.nav:after{content:"";pointer-events:none;background:linear-gradient(var(--night), #070a2200);height:14px;transition:opacity .25s var(--ease-out);position:absolute;top:100%;left:0;right:0}.phone-snap .nav{background-color:#0000}.phone-snap .nav:after{opacity:0}.nav__brand{min-height:var(--tap)}.nav__brand:active{opacity:.7}.js .nav__links,.js .nav__cta{display:none}html:not(.js) .nav{height:auto;min-height:var(--bar-h);flex-wrap:wrap;gap:0 20px;padding-bottom:8px;position:relative}html:not(.js) .nav__links{flex-wrap:wrap;column-gap:20px;margin-left:0}html:not(.js) .nav__links a{min-height:var(--tap);align-items:center;padding:0;display:inline-flex}html:not(.js) .nav__cta{margin-left:0}.kb-open .nav{position:absolute}.footer{padding:20px var(--gutter-right) calc(20px + env(safe-area-inset-bottom)) var(--gutter-left)}.footer:before{height:var(--footer-fade)}.footer__row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 16px;display:grid}.footer__brand{min-height:var(--tap);justify-self:start;align-items:center;display:inline-flex}.footer__top{min-height:var(--tap);grid-area:1/2;gap:.4em;margin-left:0;font-size:16px}.footer__links{flex-wrap:wrap;grid-column:1/-1;gap:0 22px}.footer__links a{min-height:var(--tap);font-size:16px}.footer__copy{font-size:var(--type-small);grid-column:1/-1}.footer__copy a{min-height:var(--tap)}.footer a:active{opacity:.7}}@media (width<=999px) and (orientation:landscape) and (height<=540px){:root{--bar-h:calc(48px + env(safe-area-inset-top))}}@media (width<=999px) and (hover:none){.btn--pill:hover{background:var(--cream);transform:none;box-shadow:0 10px 30px -12px #ffcf6b8c}.btn--ink:hover{background:var(--gold);transform:none}.btn:hover span[aria-hidden],.hero__cta:hover span[aria-hidden]{transform:none}.btn--pill:active,.btn--ink:active{transform:scale(.97)}.btn--pill:focus-visible{box-shadow:0 0 0 6px var(--night)}.link:hover{color:var(--link);text-decoration-color:#8cc4ff8c}.link--arrow:hover:after{transform:none}.link:active{opacity:.7}.nav__links a:hover:after{transform:scaleX(0)}.nav__links a[aria-current]:after{transform:scaleX(1)}.footer__links a:hover,.footer__top:hover,.footer__copy a:hover{text-decoration-color:#fff8ec59}}.menu-btn{display:none}@media (width<=999px){.js .menu-btn{width:var(--tap);height:var(--tap);color:var(--cream);transition:background-color .2s, transform .3s var(--ease-spring);background:#fff8ec1f;border-radius:50%;flex:none;place-items:center;margin-left:auto;display:grid;position:relative;box-shadow:inset 0 0 0 1px #fff8ec52}.menu-btn:active{transform:scale(.9)}.menu-btn:focus-visible{box-shadow:0 0 0 6px var(--night), inset 0 0 0 1px #fff8ec52;border-radius:50%}.menu-btn__icon{width:18px;height:12px;position:relative}.menu-btn__icon:before,.menu-btn__icon:after{content:"";background:currentColor;border-radius:2px;height:2px;position:absolute;left:0;right:0}.menu-btn__icon:before{top:1px}.menu-btn__icon:after{top:9px}.motion .menu-btn__icon:before,.motion .menu-btn__icon:after{transition:top .26s var(--ease-out), transform .26s var(--ease-out)}.menu-btn[aria-expanded=true] .menu-btn__icon:before{top:5px;transform:rotate(45deg)}.menu-btn[aria-expanded=true] .menu-btn__icon:after{top:5px;transform:rotate(-45deg)}@media (hover:hover){.js .menu-btn:hover{background:#fff8ec33}}.menu-open{scrollbar-gutter:stable;overflow:hidden}.menu-open .nav{z-index:1000;background-color:#0000}.menu-open .nav:after{opacity:0}.menu-lit .world{z-index:999}.menu{z-index:-1;opacity:0;flex-direction:column;display:flex;position:fixed;inset:0}.menu[hidden]{display:none}.menu.is-shown{opacity:1}.menu:before{content:"";z-index:-1;background:linear-gradient(180deg, #040a24 0%, #0b1846 48%, var(--night) 80%);position:absolute;inset:0}.menu.is-clear:before{opacity:0}.motion .menu{transition:opacity .2s var(--ease-out)}.motion .menu:before{transition:opacity .38s var(--ease-out)}.menu__stage{min-height:0;padding-top:var(--bar-h);flex:auto;place-items:center;display:grid}.menu__foot{padding:4px var(--gutter-right) calc(16px + env(safe-area-inset-bottom)) var(--gutter-left);background:var(--night);position:relative}.menu__foot:before{content:"";pointer-events:none;background:linear-gradient(#070a2200, var(--night));height:56px;position:absolute;bottom:100%;left:0;right:0}.menu__list a{letter-spacing:-.01em;border-bottom:1px solid #fff8ec24;justify-content:space-between;align-items:center;gap:16px;min-height:58px;font-size:22px;font-weight:800;line-height:1.2;display:flex}.menu__list a:after{content:"→";content:"→" / "";color:var(--link);transition:transform .38s var(--ease-spring);font-weight:700}.menu__list a[aria-current]{color:var(--gold);text-underline-offset:.3em;text-decoration:underline;text-decoration-thickness:2px}.menu__list a:active:after{transform:translate(5px)}@media (hover:hover){.menu__list a:hover:after{transform:translate(5px)}}.menu__cta{justify-content:center;width:100%;min-height:54px;margin-top:20px}.motion .menu.is-shown .menu__list li,.motion .menu.is-shown .menu__cta{animation:menu-rise .52s var(--ease-out) backwards}.motion .menu.is-shown .menu__list li:nth-child(2){animation-delay:40ms}.motion .menu.is-shown .menu__list li:nth-child(3){animation-delay:80ms}.motion .menu.is-shown .menu__list li:nth-child(4){animation-delay:.12s}.motion .menu.is-shown .menu__cta{animation-delay:.16s}.menu__work[hidden],.menu__item[hidden]{display:none}.menu__pin{justify-items:center;gap:8px;display:grid}.menu__logo{width:64px;height:64px;box-shadow:0 0 0 2px var(--gold), 0 0 18px 2px #ffcf6b80;background:#0d1224;border-radius:18px;place-items:center;display:grid;overflow:hidden}.menu__logo img{object-fit:contain;width:100%;height:100%;padding:12%}.menu__logo--light{background:#fff}.menu__logo--fill img{object-fit:cover;padding:0}.menu__logo--mark img{object-fit:cover;object-position:0 50%;padding:16%}.menu__name{text-align:center;font-size:16px;font-weight:750;line-height:1.25}.menu__pin:active .menu__logo{transform:scale(.94)}.menu__pin:focus-visible{border-radius:14px}.menu__work{width:min(100%,360px);padding:12px var(--gutter-right) 24px var(--gutter-left);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.menu__pin{padding:6px 4px}.menu--pins .menu__work{width:auto;padding:0;display:block}.menu--pins .menu__item{width:0;height:0;position:absolute;top:0;left:0}.menu--pins .menu__item:before{content:"";background:var(--gold);border-radius:1px;width:2px;height:13px;position:absolute;top:-15px;left:-1px}.menu--pins .menu__item:after{content:"";background:var(--gold);border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;left:-3px;box-shadow:0 0 8px 1px #ffcf6bcc}.menu--pins .menu__pin{width:var(--tap);height:var(--tap);border-radius:50%;padding:0;display:block;position:absolute;top:-59px;left:-22px}.menu--pins .menu__logo{border-radius:50%;width:100%;height:100%}.menu--pins .menu__name{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.menu--pins .menu__pin:focus-visible{box-shadow:0 0 0 6px var(--night);border-radius:50%}.menu--pins:not(.is-clear) .menu__work{opacity:0}.motion .menu--pins .menu__work{transition:opacity .2s var(--ease-out)}.motion .menu--pins .menu__item{animation:menu-fade .3s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 70ms)}.motion .menu--pins .menu__logo{animation:menu-pop .56s var(--ease-spring) backwards;animation-delay:calc(var(--i,0) * 70ms)}.motion .menu:not(.menu--pins) .menu__item{animation:menu-rise .42s var(--ease-out) backwards;animation-delay:calc(80ms + var(--i,0) * 50ms)}}@keyframes menu-rise{0%{opacity:0;transform:translateY(14px)}}@keyframes menu-fade{0%{opacity:0}}@keyframes menu-pop{0%{transform:translateY(10px)scale(.3)}}@media (width<=999px) and (orientation:landscape) and (height<=540px){.menu{flex-direction:row}.menu__stage{flex:50%}.menu__foot{overscroll-behavior:contain;padding:calc(var(--bar-h) + 4px) var(--gutter-right) calc(12px + env(safe-area-inset-bottom)) 40px;background:linear-gradient(90deg, #070a2200, var(--night) 32px);flex-direction:column;flex:50%;display:flex;overflow-y:auto}.menu__foot:before{display:none}.menu__list{margin-top:auto}.menu__cta{flex:none;margin:14px 0 auto}}@media (width<=999px) and (forced-colors:active){.menu-btn{border:1px solid buttontext}.menu-btn__icon:before,.menu-btn__icon:after{forced-color-adjust:none;background:buttontext}}.section__title>.eyebrow{line-height:1.55;display:block}@media (width>=1000px){.hero__talk,.proj__how,.proj__all,.dots,.stage--phone,.home-probe{display:none}}@media (width<=999px){:root{--home-svh:100vh;--home-lvh:100vh;--home-stage-at:min(max(var(--stage-top,46svh), var(--home-copy-end,0px)), 76svh)}@supports (height:100svh){:root{--home-svh:100svh;--home-lvh:100lvh}}.home :is(.hero__cta,.work__more,.proj__num,.proj__desc,.proj__built,.work__stage,.stage--how,.stage--close),.home .section__title .eyebrow>[aria-hidden]{display:none}.home #work-title{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home .hero{min-height:0;padding:calc(var(--bar-h,56px) + 26px) var(--gutter) 8px;align-content:start;display:block}.home .hero__copy{max-width:34rem;padding:0}.home .hero__title{font-size:var(--type-h1,clamp(36px, 10.5vw, 46px));line-height:1.03}.home .hero__sub{max-width:34ch;color:var(--cream);margin-top:14px;font-size:17px;line-height:1.5}.home .hero__talk{margin-top:22px}.home .stage--hero{aspect-ratio:1;height:auto;max-height:62svh;margin:18px 0 0}.home .work{padding:0;display:block}.home .work__copy{padding:0 var(--gutter);max-width:36rem}.home .projects>.proj{grid-template-columns:56px minmax(0,1fr);align-content:start;gap:0 14px;min-height:0;padding:30px 0;transition:none;display:grid}.home .proj__mark{grid-area:1/1}.home .proj__lead{display:contents}.home .proj__cat{grid-area:1/2;align-self:center;margin:0;line-height:1.45}.home .proj__title{font-size:var(--type-title,35px);grid-area:2/1/3/-1;margin-top:12px;line-height:1.04}.home .proj__title a{min-height:var(--tap,44px)}.home .proj__claim{max-width:32ch;font-size:var(--type-claim,19px);grid-area:3/1/4/-1;margin-top:4px;line-height:1.32}.home .proj__body{flex-wrap:wrap;grid-area:4/1/5/-1;align-items:center;gap:12px 16px;margin-top:10px;display:flex}.home .proj__meta{flex:1 0 100%;font-size:16px;line-height:1.4}.home .proj__how .btn{min-height:var(--pill-h,48px);padding:0 18px;font-size:16px}.home :is(.proj__links,.proj__all) .link{min-height:var(--pill-h,48px);align-items:center;font-size:16px;display:inline-flex}.home .proj__logo{border-radius:16px;width:56px;height:56px}.home #project-rodlab .proj__logo{place-items:center start;padding-left:6px}.home #project-rodlab .proj__logo img{width:auto;max-width:none;height:40px}.home .how__pin{min-height:0;padding:30px 0;display:block}.home .how__copy{padding:0 var(--gutter);max-width:36rem}.home .section__head{max-width:none}.home .section__title{font-size:26px;line-height:1.1}.home .section__title>.eyebrow{margin-bottom:6px}.home .steps{gap:16px;margin-top:18px}.home .step{opacity:1;grid-template-columns:28px minmax(0,1fr);align-content:start;align-items:center;gap:4px 10px;transform:none}.home .step__num{width:28px;height:28px;font-family:var(--font-mono);letter-spacing:0;color:var(--gold);box-shadow:inset 0 0 0 1.5px var(--gold);border-radius:50%;grid-row:auto;place-items:center;font-size:13px;font-weight:700;line-height:1;display:grid}.home .step__title{font-size:var(--type-step,20px);line-height:1.15}.home .step__text{max-width:none;color:var(--cream);grid-column:2;margin:0;font-size:16px;line-height:1.4}.motion .home .how.is-playing .step{opacity:1;transform:none}.home .close{min-height:0;padding:40px var(--gutter) 72px;text-align:center;align-content:start;display:block}.home .footer:before{height:var(--footer-fade,56px)}.home .close__copy{margin:0}.home .close__ask{color:var(--cream);font-size:19px;line-height:1.4}.home .close__title{margin-top:6px;font-size:clamp(46px,15vw,64px);line-height:1.04}.home .close__title a{min-height:var(--tap,44px)}@media (hover:none){.home .proj:hover .proj__logo{transform:rotate(-4deg)}.home .proj__title a:hover{background-size:0% 4px}.home .close__title a:hover{color:inherit}}:root.motion:not(.no-world) .home :where(.hero,.projects>.proj,.how,.close){min-height:100vh;min-height:var(--home-svh);margin-bottom:calc(var(--home-lvh) - var(--home-svh));padding:calc(var(--bar-h,56px) + clamp(12px, var(--home-svh) * .026, 22px)) var(--gutter) calc(var(--pager-h,56px) + 20px);scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:calc(var(--bar-h,56px) + 8px);align-content:start;position:relative}:root.motion:not(.no-world) .home .close{min-height:calc(var(--home-svh) - var(--home-footer-h,0px));padding-bottom:max(0px, calc(var(--home-svh) - var(--home-footer-h,0px) - var(--home-stage-at)));flex-direction:column;justify-content:safe center;margin-bottom:0;display:flex}:root.motion:not(.no-world) .home .footer{padding-bottom:calc(var(--pager-h,56px) + 24px)}:root.phone-snap{scroll-snap-type:y mandatory;scroll-padding:0}:root.phone-snap.motion:not(.no-world) .home :where(.hero,.projects>.proj,.how,.close){scroll-margin-top:0}:root.phone-snap.phone-under-bar .nav{background-color:#070a22f0}:root.phone-snap.phone-under-bar .nav:after{opacity:1}@supports (animation-timeline:scroll()){:root.still-on .home .nav{animation:linear both home-bar-clear;animation-timeline:scroll(root);animation-range:0 24px}:root.still-on .home .nav:after{animation:linear both home-bar-fade;animation-timeline:scroll(root);animation-range:0 24px}}:root.phone-mask.motion:not(.no-world) .home :where(.hero,.projects>.proj,.how,.close){--mask-top:calc(var(--mask-bar,0px) - var(--mask-at,0px));--mask-end:calc(var(--mask-line,100vh) - var(--mask-at,0px));-webkit-mask-image:linear-gradient(transparent var(--mask-top), #000 calc(var(--mask-top) + var(--mask-in,16px)), #000 var(--mask-end), transparent calc(var(--mask-end) + 24px));-webkit-mask-image:linear-gradient(transparent var(--mask-top), #000 calc(var(--mask-top) + var(--mask-in,16px)), #000 var(--mask-end), transparent calc(var(--mask-end) + 24px));mask-image:linear-gradient(transparent var(--mask-top), #000 calc(var(--mask-top) + var(--mask-in,16px)), #000 var(--mask-end), transparent calc(var(--mask-end) + 24px))}:root.motion:not(.no-world) .home .stage--hero{display:none}:root.motion:not(.no-world) .home :where(.work__copy,.how__copy){max-width:none;padding:0}:root.motion:not(.no-world) .home .how__pin{padding:0}:root.motion:not(.no-world) .home :where(.hero__copy,.projects>.proj){max-width:none}:root.motion:not(.no-world) .home .projects>.proj{isolation:isolate}:root.motion:not(.no-world) .home .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin-top:12px}:root.motion:not(.no-world) .home .step__title{font-size:clamp(17px, 5.2vw, var(--type-step,20px))}:root.motion:not(.no-world) .home .step__text{grid-column:1/-1}:root.motion:not(.no-world) .home .step__num{color:var(--cream);transition:box-shadow .4s;box-shadow:inset 0 0 0 1.5px #fff8ec99}:root.motion:not(.no-world) .home .step.is-lit .step__num{background:var(--gold);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--gold), 0 0 16px #ffcf6bb3;animation:home-lit .52s var(--ease-spring) both}:root.motion:not(.no-world) .home :where(.hero__copy,.how__copy,.close__copy){isolation:isolate;position:relative}:root.motion:not(.no-world) .home :where(.hero__copy,.how__copy,.close__copy,.projects>.proj):before{content:"";z-index:-1;pointer-events:none;opacity:var(--copy-shade,0);background:#070a22d1;-webkit-mask-image:linear-gradient(#0000,#000 30px calc(100% - 30px),#0000);mask-image:linear-gradient(#0000,#000 30px calc(100% - 30px),#0000)}:root.motion:not(.no-world) .home :where(.hero__copy,.how__copy,.close__copy):before{inset:-30px calc(-1 * var(--gutter));position:absolute}:root.motion:not(.no-world) .home .projects>.proj:before{margin:-30px calc(-1 * var(--gutter));grid-area:1/1/5/-1}.stage.stage--phone{left:0;right:0;top:var(--home-stage-at);height:calc(var(--home-lvh) - var(--home-stage-at));pointer-events:none;position:fixed}.home-probe{width:0;height:100vh;height:var(--home-svh);pointer-events:none;opacity:0;position:fixed;top:0;left:0}.dots{z-index:20;left:50%;bottom:calc(env(safe-area-inset-bottom) + 12px);background:#070a22b3;border:1px solid #fff8ec24;border-radius:999px;padding:5px 8px;position:fixed;transform:translate(-50%)}.dots ol{align-items:center;display:flex}.dots a{width:40px;height:var(--tap,44px);-webkit-tap-highlight-color:transparent;transition:width .42s var(--ease-out);border-radius:999px;place-items:center;display:grid}.dots a:before{content:"";width:8px;height:8px;transition:width .42s var(--ease-out), background-color .25s, transform .2s;background:#ffffffb3;border-radius:999px}.dots a[aria-current]{width:48px}.dots a[aria-current]:before{background:#fff;width:26px;box-shadow:0 0 12px #ffffff8c}.dots a:active:before{transform:scale(.8)}@media (hover:hover){.dots a:hover:before{background:#fff}}.motion .home .is-pending :is(.hero__title,.hero__sub,.hero__talk,.proj__mark,.proj__cat,.proj__title,.proj__claim,.proj__body,.section__head,.steps,.close__ask,.close__title){opacity:0}.motion .home .is-arriving .proj__mark{animation:home-pop .52s var(--ease-spring) both}.motion .home .is-arriving :is(.hero__title,.section__head,.close__ask){animation:home-rise .54s var(--ease-out) both}.motion .home .is-arriving :is(.proj__cat,.proj__title,.proj__claim,.hero__sub,.steps,.close__title){animation:home-rise .54s var(--ease-out) .12s both}.motion .home .is-arriving :is(.proj__body,.hero__talk){animation:home-rise .5s var(--ease-out) .26s both}}@media (width<=999px) and (orientation:landscape) and (height<=540px){:root.motion:not(.no-world) .home :where(.hero,.projects>.proj,.how,.close){padding-top:calc(var(--bar-h,48px) + 14px);padding-bottom:16px;padding-right:calc(50% + 12px)}:root.phone-mask.motion:not(.no-world) .home :where(.hero,.projects>.proj,.how,.close){-webkit-mask-image:none;mask-image:none}:root.motion:not(.no-world) .home .hero__title{font-size:clamp(30px,9.5svh,42px)}:root.motion:not(.no-world) .home .close{text-align:left;padding-bottom:16px}:root.motion:not(.no-world) .home .footer{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.stage.stage--phone{height:var(--home-lvh);top:0;left:50%}.dots{left:75%}}@keyframes home-bar-clear{0%{background-color:#0000}}@keyframes home-bar-fade{0%{opacity:0}}@keyframes home-pop{0%{opacity:0;transform:scale(.5)rotate(-10deg)}}@keyframes home-rise{0%{opacity:0;transform:translateY(18px)}}@keyframes home-lit{0%{transform:scale(.6)}}@media (width<=999px) and (forced-colors:active){.dots a:before{forced-color-adjust:none;background:canvastext}.dots a[aria-current]:before{background:highlight}}@media (width>=1000px){.doc__cat,.doc__visit,.doc__float,.doc__next,.stage--first,.field__hint{display:none}.doc--product>.doc__lede{margin-top:14px}}@media (width<=999px){.doc{--pp-l:var(--gutter-left,max(20px, env(safe-area-inset-left)));--pp-r:var(--gutter-right,max(20px, env(safe-area-inset-right)));--pp-bar:var(--bar-h,calc(56px + env(safe-area-inset-top,0px)));padding:calc(var(--pp-bar) + 28px) var(--pp-r) calc(var(--footer-fade,120px) + 4px) var(--pp-l);display:block}.doc__stage{display:none}.doc__stage .stage{height:auto;margin:0;position:absolute;inset:0}.doc__head{max-width:40rem}.doc .eyebrow{font-size:var(--type-eyebrow,14px);letter-spacing:var(--track-eyebrow,.08em);line-height:1.4}.doc__head .eyebrow+*{margin-top:10px}.doc__title{letter-spacing:-.02em;text-wrap:balance;font-size:clamp(34px,9.6vw,40px);line-height:1.02}.doc__lede{color:var(--cream);margin-top:14px;font-size:1rem;line-height:1.55}.prose{max-width:40rem;margin-top:28px}.prose__block{gap:8px;padding:24px 0}.prose__block h2{font-size:1.25rem;line-height:1.25}.prose__block p{color:var(--cream);font-size:1rem;line-height:1.6}.doc__updated{color:var(--cream);margin-top:20px;font-size:.85rem}.doc__actions{flex-wrap:wrap;gap:4px 28px;padding-top:16px;font-size:1rem;display:flex}.doc--404{padding-bottom:calc(min(var(--footer-fade,120px), 76px) + 4px)}.doc--404 .doc__actions{flex-direction:column;align-items:flex-start;gap:6px;padding-top:12px;font-size:1.06rem}.doc__actions .link,.doc__back{align-items:center;min-height:44px;display:inline-flex}.doc--product{padding:0}.doc--product .doc__head{padding:calc(var(--pp-bar) + 6px) var(--pp-r) 0 var(--pp-l);max-width:none}.doc--product .doc__head>.eyebrow:first-child{margin:0}.doc__back{color:var(--link);letter-spacing:var(--track-eyebrow,.08em);-webkit-tap-highlight-color:transparent;gap:8px;padding-right:16px;font-size:15px;text-decoration:none}.doc__back:before{content:"←";content:"←" / "";font-family:var(--font);letter-spacing:0;font-size:1.15em}.doc__back:active{color:var(--cream)}.doc__logo{align-items:center;gap:14px;margin:4px 0 0;display:flex}.doc__logo .proj__logo{border-radius:15px;flex:none;width:52px;height:52px}.doc__cat{font-family:var(--font-mono);font-size:var(--type-eyebrow,14px);letter-spacing:var(--track-eyebrow,.08em);text-transform:uppercase;color:var(--gold);font-weight:600;line-height:1.35}.doc--product .doc__head>.doc__cat{margin-top:6px}.doc--product .doc__title{font-size:var(--type-title,35px);margin-top:14px;line-height:1.04}.doc--product .doc__claim{max-width:30ch;font-size:var(--type-claim,19px);margin-top:10px;line-height:1.35}.doc--product .doc__head>.eyebrow:not(:first-child){margin-top:12px}.doc__visit{margin-top:18px}:is(.doc__visit,.doc__float) .btn{-webkit-tap-highlight-color:transparent;min-height:48px;padding:0 1.4em}.stage--first,.stage--next{display:none}.doc--product>.doc__lede{padding:36px var(--pp-r) 0 var(--pp-l);max-width:calc(40rem + 40px);margin:0}.doc--product .prose{padding:0 var(--pp-r) 0 var(--pp-l);max-width:calc(40rem + 40px);margin-top:12px}.doc--product .doc__actions{padding:8px var(--pp-r) 40px var(--pp-l)}.doc__float:not([hidden]){z-index:30;left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));pointer-events:none;justify-content:center;margin:0;display:flex;position:fixed}.doc__float .btn{pointer-events:auto;box-shadow:0 14px 30px -12px #000000b3,0 10px 30px -14px #ffcf6b99}.doc__next{padding:32px var(--pp-r) calc(var(--footer-fade,120px) + 4px) var(--pp-l);border-top:1px solid #fff8ec29;position:relative}.doc__next-title{font-weight:800;font-size:var(--type-title,35px);letter-spacing:-.02em;line-height:1.05}.doc__next-title a{-webkit-tap-highlight-color:transparent;grid-template-columns:auto 1fr;align-items:center;gap:14px;min-height:44px;display:inline-grid}.doc__next-title .proj__logo{border-radius:15px;flex:none;width:52px;height:52px}.doc__next-name{grid-column:1/-1}.doc__next-title a:after{content:"";z-index:1;position:absolute;inset:0}.doc__next-label{font-family:var(--font-mono);font-size:var(--type-eyebrow,14px);letter-spacing:var(--track-eyebrow,.08em);text-transform:uppercase;color:var(--gold);font-weight:600;line-height:1.35}.doc__next-claim{max-width:30ch;font-weight:650;font-size:var(--type-claim,19px);margin-top:10px;line-height:1.35}.projects--index{margin-top:24px}.projects--index .proj{border-top:1px solid #fff8ec29;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;column-gap:14px;min-height:72px;padding:10px 0;display:grid;position:relative}.projects--index .proj:last-child{border-bottom:1px solid #fff8ec29}.projects--index .proj__mark{display:flex}.projects--index .proj__num,.projects--index .proj__claim,.projects--index .proj__body{display:none}.projects--index .proj__logo{border-radius:13px;width:44px;height:44px}.projects--index .proj__mark:not(:has(.proj__logo)) .proj__num{background:#fff8ec1a;border-radius:13px;place-items:center;width:44px;height:44px;font-size:.85rem;display:grid}.projects--index .proj__cat{margin:0 0 3px;line-height:1.3}.projects--index .proj__title{letter-spacing:-.01em;font-size:1.2rem;font-weight:750;line-height:1.2}.projects--index .proj__title a{-webkit-tap-highlight-color:transparent;background:0 0;padding:0;display:inline}.projects--index .proj__title a:after{content:"";border-radius:14px;position:absolute;inset:0}.projects--index .proj__title a:focus-visible{box-shadow:none;outline:none}.projects--index .proj__title a:focus-visible:after{outline:2px solid var(--link);outline-offset:-2px;box-shadow:inset 0 0 0 5px var(--night)}.projects--index .proj:after{content:"→";content:"→" / "";color:var(--cream-soft);padding-right:2px;font-size:1.15rem}.projects--index .proj:active{background:#fff8ec0f}.people{gap:36px;max-width:40rem;margin-top:36px}.person{display:block}.person__name{font-size:clamp(30px,8.6vw,34px);line-height:1.05}.person__role{margin-top:8px}.person__bio{color:var(--cream);margin-top:12px;font-size:1rem;line-height:1.55}.pp-dots{z-index:30;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 12px);pointer-events:none;justify-content:center;display:flex;position:fixed}.pp-dots ol{pointer-events:auto;background:#070a22b3;border-radius:999px;align-items:center;padding:6px 10px;display:flex}.pp-dots a{width:40px;height:44px;transition:width .45s var(--ease-out);-webkit-tap-highlight-color:transparent;border-radius:999px;place-items:center;display:grid}.pp-dots a:before{content:"";width:8px;height:8px;transition:width .45s var(--ease-out), background-color .25s, box-shadow .25s;background:#ffffffb3;border-radius:999px}.pp-dots a[aria-current]{width:48px}.pp-dots a[aria-current]:before{background:#fff;width:28px;box-shadow:0 0 12px #ffffff8c}.pp-dots a:focus-visible{outline-offset:-3px;box-shadow:0 0 0 4px var(--night);outline:2px solid #fff}.pp-probe{pointer-events:none;width:0;height:100svh;position:fixed;top:0;left:0}.pp-probe--top{height:40svh}.form{gap:12px;max-width:40rem;padding-top:14px}.form__intro{color:var(--cream);font-size:1rem}.field{gap:5px}.field label{font-size:1rem}.field__hint{font-size:var(--type-small,15px);color:var(--cream);margin-top:-2px}.field input,.field textarea{padding:11px 14px;font-size:17px}.field textarea{height:96px;min-height:0}.field__err{min-height:0;font-size:.85rem}.field__err:empty{display:none}.form .btn--ink{-webkit-tap-highlight-color:transparent;justify-content:center;width:100%;min-height:54px;font-size:1.05rem}.form .btn--ink:active{transform:scale(.98)}.form__status:empty{min-height:0}@media (hover:none){.form .btn--ink:hover{background:var(--gold);transform:none}:is(.doc__visit,.doc__float) .btn--pill:hover{background:var(--cream);transform:none}.projects--index .proj:hover .proj__logo{transform:rotate(-4deg)}}.motion:not(.no-world) :is(.doc--work,.doc--services,.doc--contact,.doc--legal,.doc--404){padding-top:var(--pp-bar)}.motion:not(.no-world) :is(.doc--work,.doc--services,.doc--contact,.doc--legal,.doc--404) .doc__stage{height:30svh;margin:0 calc(-1 * var(--pp-r)) 0 calc(-1 * var(--pp-l));display:block;position:relative}.motion:not(.no-world) .doc--work .doc__stage{height:34svh}.motion:not(.no-world) .doc--legal .doc__stage{height:24svh}.motion:not(.no-world) :is(.doc--work,.doc--services,.doc--contact,.doc--legal,.doc--404) .doc__head{margin-top:20px}.motion:not(.no-world) .doc--contact{flex-direction:column;min-height:100svh;display:flex}.motion:not(.no-world) .doc--contact .doc__stage{height:auto;max-height:36svh;transition:flex-grow .36s var(--ease-out), flex-basis .36s var(--ease-out), max-height .36s var(--ease-out);flex:1 0 20svh}.motion:not(.no-world).kb-open .doc--contact .doc__stage{flex:0 0 0;max-height:0}.motion:not(.no-world) .doc--contact .doc__head{margin-top:16px}.doc--contact .doc__lede{margin-top:10px}.motion:not(.no-world) .doc--product .doc__head{flex-direction:column;min-height:100lvh;display:flex}.motion:not(.no-world) .stage--first{margin:16px calc(-1 * var(--pp-r)) 0 calc(-1 * var(--pp-l));flex:1 0 32svh;display:block}.motion:not(.no-world) .doc__next{min-height:100svh;padding:calc(var(--pp-bar) + 24px) 0 0;border-top:0;flex-direction:column;display:flex}.motion:not(.no-world) .doc__next-copy{padding:0 var(--pp-r) 0 var(--pp-l)}.motion:not(.no-world) .stage--next{flex:1 0 40svh;margin-top:16px;display:block}.motion:not(.no-world) .doc--about{padding:0}.motion:not(.no-world) .doc--about .doc__stage{z-index:0;left:0;right:0;top:var(--pp-about-top,var(--stage-top,46svh));height:calc(100vh - var(--pp-about-top,var(--stage-top,46svh)));height:calc(100lvh - var(--pp-about-top,var(--stage-top,46svh)));pointer-events:none;display:block;position:fixed}.motion:not(.no-world) .doc--about :is(.doc__head,.person){min-height:100svh;padding:calc(var(--pp-bar) + 24px) var(--pp-r) calc(var(--pager-h,56px) + 20px) var(--pp-l);scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:var(--pp-snap-margin,calc(-1 * (var(--bar-h,56px) + 8px)));position:relative}.motion:not(.no-world) .doc--about .doc__head{max-width:none;padding-top:calc(var(--pp-bar) + 24px + var(--pp-lift,0px))}.motion:not(.no-world) .doc--about .doc__head .doc__title{font-size:var(--type-h1,clamp(36px, 10.5vw, 46px))}.motion:not(.no-world) .doc--about .doc__head .doc__lede{font-size:var(--type-claim,19px);margin-top:16px;line-height:1.5}.motion:not(.no-world) .doc--about .people{max-width:none;margin:0;display:block}.motion:not(.no-world) .doc--about :is(.doc__head,.person)>*{max-width:36rem;position:relative}.motion:not(.no-world) .doc--about :is(.doc__head,.person)>:before{content:"";z-index:-1;opacity:var(--pp-over,0);pointer-events:none;background:#070a22cc;border-radius:14px;position:absolute;inset:-6px -12px;box-shadow:0 0 20px 12px #070a22cc}html.pp-snap{scroll-snap-type:y mandatory}:root.phone-mask.motion:not(.no-world) .doc--about :is(.doc__head,.person){--mask-top:calc(var(--mask-bar,0px) - var(--mask-at,0px));--mask-end:calc(var(--mask-line,100vh) - var(--mask-at,0px));-webkit-mask-image:linear-gradient(transparent var(--mask-top), #000 calc(var(--mask-top) + var(--mask-in,16px)), #000 var(--mask-end), transparent calc(var(--mask-end) + 24px));-webkit-mask-image:linear-gradient(transparent var(--mask-top), #000 calc(var(--mask-top) + var(--mask-in,16px)), #000 var(--mask-end), transparent calc(var(--mask-end) + 24px));mask-image:linear-gradient(transparent var(--mask-top), #000 calc(var(--mask-top) + var(--mask-in,16px)), #000 var(--mask-end), transparent calc(var(--mask-end) + 24px))}.motion:not(.no-world) .doc--about{padding-bottom:calc(100vh - var(--pp-footer-h,0px));padding-bottom:calc(100svh - var(--pp-footer-h,0px))}.motion .doc--about.pp-moving .doc__stage{transition:top 1.1s var(--ease-out), left 1.1s var(--ease-out), height 1.1s var(--ease-out)}.motion:not(.no-world) .doc--about.pp-end .doc__stage{top:var(--pp-bar);height:calc(100vh - var(--pp-bar));height:calc(100lvh - var(--pp-bar))}html.pp-snap.pp-about .footer{scroll-snap-align:end;scroll-snap-stop:always}html.pp-about .footer{padding-bottom:calc(var(--pager-h,56px) + 24px)}}@media (width<=999px) and (orientation:landscape) and (height<=540px){.doc__float:not([hidden]){display:none}.motion:not(.no-world) :is(.doc--product .doc__head,.doc__next){padding-right:calc(50% + 14px);display:block;position:relative}.motion:not(.no-world) .doc--product .doc__head>.doc__visit{margin-top:14px}.motion:not(.no-world) :is(.stage--first,.stage--next){width:50%;min-height:0;margin:0;position:absolute;top:0;bottom:0;right:0}.motion:not(.no-world) .doc__next{padding-bottom:32px}.motion:not(.no-world) :is(.doc--work,.doc--services,.doc--contact,.doc--legal,.doc--404){padding-top:calc(var(--pp-bar) + 20px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:28px;display:grid}.motion:not(.no-world) :is(.doc--work,.doc--services,.doc--contact,.doc--legal,.doc--404)>*{grid-column:1}.motion:not(.no-world) :is(.doc--work,.doc--services,.doc--contact,.doc--legal,.doc--404) .doc__stage{height:auto;margin:calc(-1 * (var(--pp-bar) + 20px)) calc(-1 * var(--pp-r)) 0 0;grid-area:1/2/span 20;align-self:stretch}.motion:not(.no-world) :is(.doc--work,.doc--services,.doc--contact,.doc--legal,.doc--404) .doc__stage .stage{height:100svh;position:sticky;top:0}.motion:not(.no-world) :is(.doc--work,.doc--services,.doc--contact,.doc--legal,.doc--404) .doc__head{margin-top:0}.motion:not(.no-world) .doc--contact .doc__stage{max-height:none}.motion:not(.no-world) .doc--about .doc__stage{top:var(--pp-bar,48px);height:calc(100vh - var(--pp-bar,48px));height:calc(100lvh - var(--pp-bar,48px));left:50%}:root.phone-mask.motion:not(.no-world) .doc--about :is(.doc__head,.person){-webkit-mask-image:none;mask-image:none}.motion:not(.no-world) .doc--about.pp-end .doc__stage{left:0}.motion:not(.no-world) .doc--about :is(.doc__head,.person){padding-top:calc(var(--pp-bar) + 12px);padding-right:calc(50% + 12px);padding-bottom:calc(var(--pager-h,56px) + 12px)}.motion:not(.no-world) .doc--about .person__name{font-size:1.65rem}.motion:not(.no-world) .doc--about .person__bio{margin-top:8px;font-size:.95rem;line-height:1.5}.pp-dots{right:50%}}@media (width<=999px) and (forced-colors:active){.pp-dots a:before{forced-color-adjust:none;background:canvastext}.pp-dots a[aria-current]:before{background:highlight}}@media (width<=999px){body:after,html:after{content:"";z-index:0;pointer-events:none;position:fixed;left:0;right:0}body:after{height:calc(72px + env(safe-area-inset-top));background:linear-gradient(#070a22 env(safe-area-inset-top), #070a22ef calc(env(safe-area-inset-top) + 10.8px), #070a22c8 calc(env(safe-area-inset-top) + 21.6px), #070a2280 calc(env(safe-area-inset-top) + 36px), #070a2237 calc(env(safe-area-inset-top) + 50.4px), #070a2210 calc(env(safe-area-inset-top) + 61.2px), #070a2200 100%);top:0}html:after{height:calc(140px + env(safe-area-inset-bottom));background:linear-gradient(#070a2200 0,#070a2210 21px,#070a2237 42px,#070a2280 70px,#070a22c8 98px,#070a22ef 119px,#070a22 140px);bottom:0}html:is(.world-on,.still-on):before{content:"";z-index:-1;pointer-events:none;background:#070a22;height:calc(100lvh - 100svh);position:absolute;top:100svh;left:0;right:0}}@media (width<=999px) and (forced-colors:active){body:after,html:after,html:is(.world-on,.still-on):before{display:none}}@media (width<=999px){.world{transition-duration:.35s}:root.motion.still-on:not(.no-world) body.home:before{--at:var(--home-stage-at);--still-y:calc(var(--at) + .59 * (100dvh - var(--at)));content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0b1845 min(calc(var(--still-y) - 81.44lvh), var(--at)), #0b1846 min(calc(var(--still-y) - 72lvh), var(--at)), #0d1a4a min(calc(var(--still-y) - 63.03lvh), var(--at)), #0f1c50 min(calc(var(--still-y) - 54.43lvh), var(--at)), #121f56 min(calc(var(--still-y) - 46.13lvh), var(--at)), #14215c min(calc(var(--still-y) - 38.09lvh), var(--at)), #162360 min(calc(var(--still-y) - 30.25lvh), var(--at)), #162361 calc(var(--at) + 1px), #16236100 calc(var(--at) + 1px), #1f1b5600 100dvh, #1f1b56 100dvh), url(/stills/home-phone-edge.png) 0 var(--at) / 100vw var(--soft) no-repeat, url(/stills/home-phone.webp) 0 calc(var(--still-y) - 85vw) / 100vw auto no-repeat, #0b1846;height:100lvh;position:fixed;top:0;left:0;right:0}:root.world-on body.home:before{visibility:hidden;transition:visibility 0s .4s}}@media (width<=999px) and (orientation:landscape) and (height<=540px),(forced-colors:active){:root.motion.still-on:not(.no-world) body.home:before{content:none}}
