:root{--ground: #f2f2f0;--ink: #121314;--ink-soft: #5c5e60;--rule: rgba(18, 19, 20, .22);--rule-faint: rgba(18, 19, 20, .12);--pad: clamp(20px, 5vw, 64px);--gutter: 28px;--max: 1280px;--measure: 62ch;--masthead-h: 64px;--section-gap: clamp(72px, 10vw, 136px);--stroke-trunk: 3px;--stroke-curl: 2.6px;--stroke-branch: 2.4px;--stroke-tendril: 2px;--ease-out: cubic-bezier(.16, 1, .3, 1);--draw-time: 1.1s}@media(min-width:900px){:root{--gutter: 72px}}*,*:before,*:after{box-sizing:border-box}html{background:var(--ground);color:var(--ink);font-family:var(--font-body);font-size:106.25%;line-height:1.5;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:24px;caret-color:var(--ink);accent-color:var(--ink)}body{margin:0;min-height:100dvh;display:flex;flex-direction:column;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}::selection{background:var(--ink);color:var(--ground)}img,svg{display:block;max-width:100%}[hidden]{display:none!important}img{height:auto}p,ul,ol,h1,h2,h3{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em;transition:text-decoration-thickness .12s var(--ease-out)}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.12;letter-spacing:0;text-wrap:balance}h1{font-size:clamp(2.2rem,1.1rem + 3vw,3.5rem);font-weight:400}h2{font-size:clamp(1.7rem,1.1rem + 1.9vw,2.5rem)}h3{font-size:clamp(1.28rem,1.1rem + .6vw,1.55rem)}p{max-width:var(--measure);text-wrap:pretty}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}.skip{position:absolute;top:8px;left:8px;z-index:10;padding:10px 14px;background:var(--ink);color:var(--ground);transform:translateY(-200%)}.skip:focus{transform:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:2px solid var(--ink);background:var(--ink);color:var(--ground);font:600 1rem/1.2 var(--font-body);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .14s var(--ease-out),color .14s var(--ease-out),transform .12s var(--ease-out)}.button:hover{background:var(--ground);color:var(--ink);text-decoration:none}.button:active{transform:translateY(1px)}.button[aria-disabled=true],.button:disabled{cursor:progress;opacity:.6}.masthead{border-bottom:1px solid var(--rule-faint)}.masthead__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--masthead-h)}.masthead__brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}.masthead__wordmark{font-family:var(--font-display);font-size:1.5rem;font-weight:600;letter-spacing:0;line-height:1;padding-top:.12em}.masthead__menu{position:relative}.menu__summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;min-height:44px;padding:0 4px;font-weight:600;user-select:none}.menu__summary::-webkit-details-marker{display:none}.menu__close,.menu[open] .menu__open{display:none}.menu[open] .menu__close{display:inline}.menu__nav{display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:5;min-width:240px;padding:8px 0;background:var(--ground);border:1px solid var(--ink)}.menu[open]+.menu__nav{display:block}.menu__list{display:flex;flex-direction:column}.menu__list a{display:flex;align-items:center;min-height:44px;padding:0 18px;text-decoration:none}.menu__list a:hover{text-decoration:underline}.menu__lang{border-top:1px solid var(--rule-faint);margin-top:8px;padding-top:8px}@media(min-width:900px){.menu{display:none}.menu__nav,.menu[open]+.menu__nav{display:block;position:static;min-width:0;padding:0;border:0;background:transparent}.menu__list{flex-direction:row;align-items:center;gap:6px}.menu__list a{padding:0 12px}.menu__list li:nth-last-child(2){margin-left:8px}.menu__cta{border:2px solid var(--ink);padding:0 18px!important;min-height:44px!important;font-weight:600}.menu__cta:hover{background:var(--ink);color:var(--ground);text-decoration:none!important}.menu__lang{margin:0 0 0 4px;padding:0 12px!important;border:0;color:var(--ink-soft)}}.main{flex:1}.sections{position:relative}.rail{pointer-events:none;position:absolute;top:0;bottom:0;left:var(--pad);width:var(--stroke-trunk);margin-left:calc(var(--stroke-trunk) / -2);background:var(--ink);transform-origin:top center}.hero{position:relative;display:grid;grid-template-columns:1fr;align-content:center;min-height:calc(100dvh - var(--masthead-h));width:100%;max-width:var(--max);margin-inline:auto;padding:32px var(--pad) 72px;overflow:hidden}.hero__stem{position:absolute;top:0;bottom:0;left:var(--pad);width:min(48%,480px);color:var(--ink)}.hero__stem svg{width:auto;height:100%;max-width:100%;overflow:visible}.stem__trunk,.stem__sweep,.stem__spiral,.stem__tendril{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.stem__trunk{stroke-width:var(--stroke-trunk)}.stem__sweep,.stem__spiral{stroke-width:var(--stroke-curl)}.stem__tendril{stroke-width:var(--stroke-tendril)}.stem__bud{fill:currentColor;transform-box:fill-box;transform-origin:center}.hero__text{position:relative;z-index:1;display:grid;gap:24px;justify-items:start;max-width:34rem}.hero__title{max-width:16.5em}.hero__lede{font-size:1.15rem;line-height:1.5;max-width:30rem}.hero__cta{margin-top:8px}@media(max-width:899px){.hero{min-height:0;padding-top:0;padding-bottom:56px}.hero__stem{position:relative;inset:auto auto auto 0;width:100%;height:300px;margin:0 0 8px}.hero__stem svg{height:100%;width:auto}}@media(min-width:900px){.hero{grid-template-columns:minmax(0,3fr) minmax(0,9fr)}.hero__text{grid-column:2;max-width:54rem;padding-top:6vh}}.node{position:relative;padding-left:var(--gutter);padding-block:var(--section-gap) 0}.node:last-child{padding-bottom:var(--section-gap)}.node__head,.limb{position:relative;--reach: 120px}.node__head{--title-size: clamp(1.7rem, 1.1rem + 1.9vw, 2.5rem)}.limb{--title-size: clamp(1.28rem, 1.1rem + .6vw, 1.55rem)}.node__title,.limb__title{padding-left:calc(var(--reach) + 16px)}.node__body{margin-top:36px}.node__note{font-size:1.1rem;max-width:40rem}.branch{position:absolute;left:calc(-1 * var(--gutter));top:calc(var(--title-size) * .58 - var(--bud-y));width:calc(var(--gutter) + var(--reach));height:var(--curl-h);color:var(--ink);pointer-events:none}.branch__lead{position:absolute;left:0;top:0;width:calc(100% - var(--curl-w) + 1px);height:var(--curl-h);overflow:visible}.branch__curl{position:absolute;right:0;top:0;overflow:visible}.branch__lead--narrow,.branch__curl--narrow{display:none}.branch__leadline,.branch__line{fill:none;stroke:currentColor;stroke-width:var(--stroke-branch);stroke-linecap:round;stroke-linejoin:round}.branch__line{stroke-dasharray:1;stroke-dashoffset:0}.branch__leadline{vector-effect:non-scaling-stroke}.branch__bud{fill:currentColor;transform-box:fill-box;transform-origin:center}@media(max-width:899px){.node__head,.limb{--reach: 44px !important}.branch{--curl-w: 48px !important;--curl-h: 32px !important;--bud-y: 14px !important}.branch__lead--wide,.branch__curl--wide{display:none}.branch__lead--narrow,.branch__curl--narrow{display:block}}.limbs{display:grid;gap:44px}.limb{padding-top:4px}.limb__body{margin-top:12px;max-width:44rem}@media(min-width:900px){.limbs{gap:52px}.limb__body{padding-left:calc(var(--reach) + 16px)}}.bays{display:grid;gap:48px;margin-top:40px}.bay{display:grid;gap:20px;align-content:start}.bay__frame{position:relative;padding:10px;border:1px solid var(--ink);outline:1px solid var(--ink);outline-offset:5px;margin:6px}.bay__icon{position:absolute;top:-30px;left:50%;width:48px;height:48px;padding:6px;margin-left:-24px;background:var(--ground)}.bay__image{width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover}.bay__text{display:grid;gap:10px;align-content:start}.bay__link{justify-self:start;font-weight:600}@media(min-width:900px){.bays{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:64px}.bay--wide{grid-column:1 / -1;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center}.bay--wide .bay__text{padding-top:24px}}.studio{display:grid;gap:48px}.studio__body{display:grid;gap:18px}.studio__body p{font-size:1.1rem;max-width:42rem}.studio__lists{display:grid;gap:40px}.studio__list-title{margin-bottom:18px}.steps{counter-reset:step;display:grid;gap:14px}.steps li{counter-increment:step;position:relative;padding-left:2.4em;max-width:34rem}.steps li:before{content:counter(step);position:absolute;left:0;top:-.05em;font-family:var(--font-display);font-size:1.35em;line-height:1.2}.stack{display:grid;gap:10px}.stack li{position:relative;padding-left:1.4em;max-width:34rem}.stack li:before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;margin-top:-4px;background:var(--ink);border-radius:50%}@media(min-width:900px){.studio{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:64px}.studio__lists{gap:44px}}.contact__grid{display:grid;gap:40px}.contact__aside{display:grid;gap:20px;align-content:start}.contact__direct{display:grid;gap:4px}.contact__email{font-weight:600}.form{display:grid;gap:22px;max-width:36rem}.form__botcheck{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.field{display:grid;gap:8px}.field__label{font-weight:600}.field__optional{font-weight:400;color:var(--ink-soft)}.field__hint{color:var(--ink-soft);font-size:.95rem}.field__input{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--ink);border-radius:0;background:var(--ground);color:var(--ink);font:inherit;transition:box-shadow .12s var(--ease-out)}.field__input::placeholder{color:var(--ink-soft);opacity:1}.field__input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.field--invalid .field__input{box-shadow:inset 0 0 0 1px var(--ink)}.field__error{font-weight:600;font-size:.95rem}textarea.field__input{resize:vertical;min-height:9rem}.form__actions{display:grid;gap:14px;justify-items:start}.form__status:empty{display:none}.form__status:focus{outline:none}.form__status,.form__error{font-weight:600}.form__privacy{color:var(--ink-soft);font-size:.95rem}@media(min-width:900px){.contact__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px}}.footer{margin-top:var(--section-gap);border-top:1px solid var(--ink)}.footer__inner{display:grid;gap:24px;padding-block:36px 44px}.footer__brand{display:grid;gap:12px}.footer__legal{font-size:.95rem;max-width:34rem}.footer__reg{display:block;color:var(--ink-soft)}.footer__links{display:flex;flex-wrap:wrap;gap:8px 20px}.footer__links a{display:inline-flex;align-items:center;min-height:44px}@media(min-width:900px){.footer__inner{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}.footer__links{justify-content:flex-end}}.legal{--legal-top: clamp(48px, 8vw, 96px);position:relative;padding-block:var(--legal-top) 0;padding-left:calc(var(--pad) + var(--gutter))}.legal:before{content:"";position:absolute;top:0;left:var(--pad);width:var(--stroke-trunk);margin-left:calc(var(--stroke-trunk) / -2);height:calc(var(--legal-top) + .66em);font-size:clamp(2.2rem,1.1rem + 3vw,3.5rem);background:var(--ink)}.legal__head{--reach: 112px;--title-size: clamp(2.2rem, 1.1rem + 3vw, 3.5rem)}.legal__head .branch{left:calc(-1 * var(--gutter))}.legal__lede{margin-top:28px;font-size:1.15rem;max-width:40rem}.legal__reviewed{margin-top:12px;color:var(--ink-soft);font-size:.95rem}.legal__section{margin-top:44px;display:grid;gap:12px}.legal__section h2{font-size:clamp(1.35rem,1.1rem + .8vw,1.7rem)}.legal__back{margin-top:56px}@media(prefers-reduced-motion:no-preference){.stem__trunk,.stem__sweep{stroke-dasharray:1;stroke-dashoffset:1;animation:draw var(--draw-time) var(--ease-out) forwards}.stem__sweep--1{animation-delay:.5s}.stem__sweep--2{animation-delay:.65s}.stem__sweep--3{animation-delay:.8s}.stem__spiral,.stem__tendril{stroke-dasharray:1;stroke-dashoffset:1}.stem__bud{transform:scale(0)}@supports (animation-timeline: scroll()){.stem__spiral,.stem__tendril{animation:draw 1s linear both;animation-timeline:scroll(root)}.stem__spiral--1{animation-range:0 28vh}.stem__spiral--2{animation-range:6vh 36vh}.stem__spiral--3{animation-range:12vh 44vh}.stem__tendril--1{animation-range:24vh 52vh}.stem__tendril--2{animation-range:30vh 58vh}.stem__tendril--3{animation-range:36vh 64vh}.stem__bud{animation:bloom 1s var(--ease-out) both;animation-timeline:scroll(root)}.stem__bud--1{animation-range:40vh 64vh}.stem__bud--2{animation-range:46vh 70vh}.stem__bud--3{animation-range:52vh 76vh}.rail{transform:scaleY(0);animation:grow linear both;animation-timeline:view();animation-range:entry 30% exit 40%}.branch:not(.branch--static) .branch__lead{clip-path:inset(-4px 100% -4px 0);animation:reveal linear both;animation-timeline:view();animation-range:contain 26% contain 33%}.branch:not(.branch--static) .branch__line{stroke-dashoffset:1;animation:draw 1s linear both;animation-timeline:view();animation-range:contain 33% contain 40%}.branch:not(.branch--static) .branch__bud{transform:scale(0);animation:bloom 1s var(--ease-out) both;animation-timeline:view();animation-range:contain 40% contain 50%}}@supports not (animation-timeline: scroll()){.stem__spiral{animation:draw .8s var(--ease-out) forwards;animation-delay:1.5s}.stem__tendril{animation:draw .7s var(--ease-out) forwards;animation-delay:2.1s}.stem__bud{animation:bloom .6s var(--ease-out) forwards;animation-delay:2.6s}.js .branch:not(.branch--static) .branch__lead{clip-path:inset(-4px 100% -4px 0);transition:clip-path .5s var(--ease-out)}.js .branch:not(.branch--static) .branch__line{stroke-dashoffset:1;transition:stroke-dashoffset .7s var(--ease-out) .4s}.js .branch:not(.branch--static) .branch__bud{transform:scale(0);transition:transform .5s var(--ease-out) .95s}.js .is-drawn .branch__lead{clip-path:inset(-4px 0 -4px 0)}.js .is-drawn .branch__line{stroke-dashoffset:0}.js .is-drawn .branch__bud{transform:none}}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes grow{to{transform:scaleY(1)}}@keyframes reveal{to{clip-path:inset(-4px 0 -4px 0)}}@keyframes bloom{to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,a,.field__input{transition:none}}
