@font-face{font-family:Archivo;src:url(/assets/fonts/archivo-variable.woff2)format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}:root{--m:clamp(20px, 4.4vw, 64px);--maxw:1600px;--head-h:64px;--gap:clamp(16px, 2vw, 32px);--f-sans:"Archivo", ui-sans-serif, system-ui, sans-serif;--step-h1:clamp(2.75rem, 1.3rem + 3.9vw, 5.25rem);--step-h2:clamp(2.125rem, 1.3rem + 2.9vw, 4rem);--step-h3:clamp(1.375rem, 1.15rem + .8vw, 1.875rem);--step-lede:clamp(1.1875rem, 1.07rem + .45vw, 1.4375rem);--step-body:clamp(1.0625rem, 1.03rem + .15vw, 1.125rem);--step-small:.9375rem;--step-xs:.8125rem;--ease-out:cubic-bezier(.16, 1, .3, 1);--t-ui:.18s;--radius:14px;--shadow:0 1px 2px #0000000f, 0 18px 48px -12px #00000038;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root,:root[data-theme=light]{--ground:#f7f7f5;--ink:#121316;--soft:#4b4f57;--line:#12131621;--surface:#ecedea;--accent:var(--accent-l);--on-accent:var(--on-accent-l);--accent-text:color-mix(in oklab, var(--accent-l) 72%, #000);--b0:var(--berry-0);--b1:var(--berry-1);--b2:var(--berry-2);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--ground:#0d0f12;--ink:#ececea;--soft:#a4a8b0;--line:#ececea24;--surface:#171a1f;--accent:var(--accent-d);--on-accent:var(--on-accent-d);--accent-text:color-mix(in oklab, var(--accent-d) 78%, #fff);--b0:var(--berry-0-dark);--b1:var(--berry-1-dark);--b2:var(--berry-2-dark);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-tone=contact]{--ground:var(--accent);--ink:var(--on-accent);--soft:color-mix(in oklab, var(--on-accent) 84%, var(--accent));--line:color-mix(in oklab, var(--on-accent) 30%, transparent);--accent-text:var(--on-accent)}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--head-h);scrollbar-color:color-mix(in oklab, var(--ink) 32%, transparent) var(--ground);background:var(--ground)}body{background:var(--ground);color:var(--ink);font-family:var(--f-sans);font-size:var(--step-body);font-kerning:normal;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;caret-color:var(--accent);margin:0;line-height:1.6}h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img,video,svg{max-width:100%;display:block}img{height:auto}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}button{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}[data-tone=contact] :focus-visible{outline-color:var(--on-accent)}section[data-tone],.foot{background:var(--ground);color:var(--ink)}.wrap{width:100%;max-width:var(--maxw);padding:0 var(--m);margin:0 auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{left:var(--m);z-index:100;background:var(--ink);color:var(--ground);transition:transform var(--t-ui) var(--ease-out);border-radius:10px;padding:10px 16px;font-weight:600;text-decoration:none;position:fixed;top:10px;transform:translateY(-160%)}.skip:focus{transform:none}:root[data-theme=light] .for-dark,:root[data-theme=dark] .for-light{display:none!important}.pair{display:block}.pair img{width:100%;height:auto;display:block}.h2{font-size:var(--step-h2);letter-spacing:-.028em;text-wrap:balance;max-width:17ch;font-weight:800;font-stretch:104%;line-height:.98}.h3{font-size:var(--step-h3);letter-spacing:-.016em;text-wrap:balance;font-weight:720;font-stretch:102%;line-height:1.12}.lede{font-size:var(--step-lede);text-wrap:pretty;max-width:40ch;line-height:1.42}.body-wide{text-wrap:pretty;max-width:62ch}.note{font-size:var(--step-small);color:var(--soft)}.status{font-size:var(--step-small);color:var(--soft);align-items:baseline;gap:10px;max-width:52ch;display:flex}.status-dot{background:var(--accent);border-radius:50%;flex:none;width:9px;height:9px;transform:translateY(-1px)}.ticks{gap:10px;display:grid}.ticks li{max-width:46ch;padding-left:26px;position:relative}.ticks li:before{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:.62em;left:2px}.btn{background:var(--ink);min-height:52px;color:var(--ground);letter-spacing:-.005em;transition:background-color var(--t-ui) ease, transform .16s var(--ease-out);border-radius:999px;align-items:center;gap:12px;padding:0 26px 0 20px;font-size:1.0625rem;font-weight:620;text-decoration:none;display:inline-flex}.btn:hover{background:color-mix(in oklab, var(--ink) 86%, var(--ground))}.btn:active{transform:scale(.97)}.btn-dot{background:var(--accent);width:12px;height:12px;transition:transform .24s var(--ease-out);border-radius:50%}.btn:hover .btn-dot{transform:scale(1.35)}[data-tone=contact] .btn-dot{background:var(--ground)}.link-arrow{min-height:44px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab, currentColor 35%, transparent);text-decoration-color:color-mix(in oklab, currentColor 35%, transparent);text-underline-offset:.28em;transition:text-decoration-color var(--t-ui) ease;align-items:center;gap:8px;font-weight:620;display:inline-flex}.link-arrow:hover{text-decoration-color:currentColor}.arrow{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;transition:transform .24s var(--ease-out)}.link-arrow:hover .arrow{transform:translate(3px)}.link-arrow:hover .arrow:has(path[d^=M12]){transform:translateY(3px)}.logo{display:block;overflow:visible}.logo .logo-ink{fill:currentColor}.logo .logo-strands{stroke:currentColor}.logo .logo-b0{fill:var(--b0,var(--berry-0))}.logo .logo-b1{fill:var(--b1,var(--berry-1))}.logo .logo-b2{fill:var(--b2,var(--berry-2))}[data-tone=contact] .logo .logo-b0,[data-tone=contact] .logo .logo-b1,[data-tone=contact] .logo .logo-b2{fill:currentColor}.head{z-index:50;height:var(--head-h);padding:0 max(var(--m), calc((100vw - var(--maxw)) / 2 + var(--m)));color:var(--ink);align-items:center;gap:clamp(16px,3vw,40px);transition:background-color .28s,color .28s,box-shadow .28s;display:flex;position:fixed;inset:0 0 auto}.head.is-solid{background:var(--ground);box-shadow:0 1px 0 var(--line)}.head-mark{color:inherit;padding:8px 0;display:block}.head-mark .logo{width:auto;height:26px}.head-nav{font-size:var(--step-small);gap:clamp(16px,2.2vw,32px);margin-left:auto;font-weight:560;display:flex}.head-nav a{padding:10px 0;text-decoration:none;position:relative}.head-nav a:after{content:"";background:var(--accent);width:6px;height:6px;transition:transform .24s var(--ease-out);border-radius:50%;margin-left:-3px;position:absolute;bottom:4px;left:50%;transform:scale(0)}.head-nav a:hover:after,.head-nav a[aria-current=true]:after{transform:scale(1)}.head-tools{align-items:center;gap:4px;margin-right:-10px;display:flex}.head-lang{min-width:44px;min-height:44px;font-size:var(--step-small);border-radius:10px;place-items:center;font-weight:620;text-decoration:none;display:grid}.head-lang:hover{background:color-mix(in oklab, var(--ink) 8%, transparent)}.head-theme{cursor:pointer;width:44px;height:44px;transition:background-color var(--t-ui) ease, transform .16s var(--ease-out);background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.head-theme:hover{background:color-mix(in oklab, var(--ink) 8%, transparent)}.head-theme:active{transform:rotate(-18deg)scale(.92)}.head-theme svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:21px;height:21px}.head-theme .i-moon{fill:currentColor;stroke:none}:root[data-theme=dark] .head-theme .i-moon,:root[data-theme=light] .head-theme .i-sun{display:none}:root,:root[data-theme=light]{--unripe:#4f8f00}:root[data-theme=dark]{--unripe:#9fef00}.intro{column-gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.hero{min-height:100svh;padding:calc(var(--head-h) + 40px) 0 72px;flex-direction:column;grid-area:1/1/auto/span 7;justify-content:center;display:flex}.hero-title{letter-spacing:-.034em;text-wrap:balance;max-width:11ch;font-size:clamp(3rem,1.3rem + 5vw,6rem);font-weight:820;line-height:.94}.hero-lede{font-size:var(--step-lede);text-wrap:pretty;max-width:40ch;margin-top:clamp(24px,3.4vh,40px);line-height:1.42}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px 30px;margin-top:clamp(32px,4.4vh,48px);display:flex}.tree{top:var(--head-h);height:calc(100vh - var(--head-h));height:calc(100svh - var(--head-h));grid-area:1/8/span 2/span 5;align-self:start;place-items:center;display:grid;position:sticky}.tree-inner{justify-items:center;gap:clamp(20px,3.5vh,40px);display:grid}.tree-symbol{width:min(100%,58vh,540px);height:auto;color:var(--ink)}.tree-symbol circle[class^=logo-b]{transition:fill .6s}.motion .tree-symbol{animation:grow 1.2s var(--ease-out) backwards;transform-origin:17% 83%}@keyframes grow{0%{opacity:0;transform:scale(.82)}}@keyframes rise{0%{opacity:0;transform:translateY(28px)}}.motion .hero>*{animation:rise .95s var(--ease-out) backwards}.motion .hero>:nth-child(2){animation-delay:.1s}.motion .hero>:nth-child(3){animation-delay:.2s}.year{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(2.5rem,1.6rem + 2.6vw,4.25rem);font-weight:800;line-height:1;display:flex}.dg{height:1em;display:block;overflow:hidden}.strip{transform:translateY(calc(var(--d) * -1em));flex-direction:column;transition:transform .9s cubic-bezier(.65,0,.2,1);display:flex}.strip>span{height:1em;display:block}.dg+.dg{margin-left:-.02em}.story{grid-area:2/1/auto/span 6;padding:clamp(56px,8vw,120px) 0 clamp(72px,10vw,160px)}.story .lede{color:var(--soft);margin-top:20px}.chapters{margin-top:clamp(40px,5vw,72px)}.chapter{border-top:1px solid var(--line);align-content:center;gap:14px;min-height:50svh;padding:40px 0;display:grid}.chapter p{max-width:44ch;font-size:var(--step-lede);text-wrap:pretty;line-height:1.45}.chapter .h3{letter-spacing:-.026em;font-size:clamp(1.75rem,1.2rem + 1.6vw,2.75rem);font-weight:780}.ch-year{font-size:var(--step-small);color:var(--soft);letter-spacing:0;margin-bottom:6px;font-weight:600;display:block}.sec-head{column-gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;row-gap:20px;display:grid}.sec-head .h2{grid-column:1/span 6}.sec-head .lede{color:var(--soft);grid-column:8/span 5}.services{border-top:1px solid var(--line);padding:clamp(104px,13vw,200px) 0}.svc-list{margin-top:clamp(48px,6vw,88px)}.svc{column-gap:var(--gap);border-top:1px solid var(--line);grid-template-columns:repeat(12,minmax(0,1fr));align-items:baseline;row-gap:10px;padding:clamp(24px,3vw,36px) 0;display:grid;position:relative}.svc:last-child{border-bottom:1px solid var(--line)}.svc-name{letter-spacing:-.028em;transition:transform .36s var(--ease-out);grid-column:1/span 6;font-size:clamp(1.75rem,1.15rem + 1.9vw,3rem);font-weight:780;font-stretch:102%;line-height:1.05}.svc-name:before{content:"";background:var(--accent);width:12px;height:12px;transition:transform .36s var(--ease-out);border-radius:50%;margin-top:-6px;position:absolute;top:50%;left:-22px;transform:scale(0)}.svc p{color:var(--soft);grid-column:8/span 5;max-width:46ch}@media (hover:hover){.svc:hover .svc-name{transform:translate(22px)}.svc:hover .svc-name:before{transform:scale(1)}}.svc-name{position:relative}.how{margin-top:clamp(80px,10vw,144px)}.how-list{gap:32px var(--gap);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:28px;display:grid}.how-list li{border-top:2px solid var(--ink);align-content:start;gap:8px;padding-top:20px;display:grid}.how-list strong{letter-spacing:-.01em;font-size:1.1875rem;font-weight:720}.how-list span{color:var(--soft);text-wrap:pretty}.work{border-top:1px solid var(--line);padding:clamp(104px,13vw,200px) 0 clamp(72px,9vw,128px)}.branch{margin-top:clamp(72px,9vw,136px)}.branch-head{column-gap:var(--gap);border-top:1px solid var(--line);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;row-gap:24px;padding-top:clamp(32px,4vw,56px);display:grid}.bh-name{grid-column:1/span 5;justify-items:start;gap:14px;display:grid}.bh-title{letter-spacing:-.03em;align-items:center;gap:16px;min-height:64px;font-size:clamp(2.25rem,1.5rem + 2.2vw,3.5rem);font-weight:800;line-height:1;display:flex}.bh-deika{width:auto;height:clamp(40px,1.8rem + 1.6vw,60px);color:var(--ink)}.bh-icon{border-radius:14px;width:clamp(52px,4.4vw,64px);height:auto}.bh-retruco{width:clamp(200px,17vw,260px);height:auto;margin-left:-4px}.bh-kind{font-weight:620;font-size:var(--step-lede)}.bh-text{grid-column:7/span 6;justify-items:start;gap:16px;display:grid}.bh-desc{font-size:var(--step-lede);color:var(--soft);text-wrap:pretty;max-width:46ch;line-height:1.42}.apps{margin-top:clamp(40px,5vw,72px);position:relative}.apps-rail{display:none}.apps-track{width:100%;max-width:var(--maxw);padding:0 var(--m);margin:0 auto}.app{gap:28px var(--gap);border-top:1px solid var(--line);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;padding:clamp(40px,5vw,72px) 0;display:grid}.app:first-child{border-top:0;padding-top:0}.app-text{grid-column:1/span 4;justify-items:start;gap:14px;display:grid}.app-icon{border-radius:13px;width:56px;height:56px}.app-name{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(2rem,1.4rem + 1.8vw,3.25rem);font-weight:800;line-height:1}.app-name span{color:var(--app)}:root[data-theme=light] .app-name span{color:color-mix(in oklab, var(--app) 74%, #000)}.app-what{font-size:var(--step-lede);text-wrap:pretty;max-width:26ch;line-height:1.38}.app-shot{grid-column:5/span 8;position:relative}.app-desk{box-shadow:var(--shadow);background:var(--surface);border-radius:12px;display:block;position:relative;overflow:hidden}.app-desk.is-wide{aspect-ratio:16/9}.app-desk.is-wide img{object-fit:cover;width:100%;height:100%}.app-video{background:#000}.app-video video{object-fit:cover;width:100%;height:100%;display:block}.app-phone{width:21%;box-shadow:var(--shadow);background:#06080c;border:5px solid #06080c;border-radius:22px;display:block;position:absolute;bottom:8%;right:-2%;overflow:hidden}.app-phone img{width:100%}.app-phone.solo{border-width:6px;border-radius:30px;width:min(36%,300px);position:relative;bottom:auto;right:auto}.app-shot figcaption{max-width:54ch;font-size:var(--step-small);color:var(--soft);margin-top:14px}.app-shot:has(>.app-phone:not(.solo)) figcaption{padding-right:24%}.apps.is-pinned{height:100svh;padding-top:var(--head-h);flex-direction:column;justify-content:center;margin-top:0;display:flex;overflow:hidden}.apps.is-pinned .apps-rail{left:var(--m);top:calc(var(--head-h) + 20px);align-items:center;gap:10px;display:flex;position:absolute}.apps-rail .rail-name{letter-spacing:-.01em;margin-right:6px;font-weight:750}.apps-rail img{opacity:.35;width:32px;height:32px;transition:opacity .3s ease, transform .3s var(--ease-out);border-radius:8px;transform:scale(.88)}.apps-rail li.is-on img{opacity:1;transform:none}.apps-rail .tab{font-size:var(--step-small);color:var(--soft);opacity:.6;border-radius:999px;padding:6px 12px;font-weight:600;transition:opacity .3s,background-color .3s,color .3s;display:block}.apps-rail li.is-on .tab{opacity:1;color:var(--ink);background:color-mix(in oklab, var(--ink) 9%, transparent)}.apps.is-pinned .apps-track{width:max-content;max-width:none;padding:0 var(--m);will-change:transform;gap:8vw;margin:0;display:flex}.apps.is-pinned .app{border:0;flex:none;grid-template-columns:minmax(0,30fr) minmax(0,70fr);gap:clamp(32px,4vw,64px);width:min(84vw,1240px);padding:0}.apps.is-pinned .app-text,.apps.is-pinned .app-shot{grid-column:auto}.apps.is-pinned .app-desk{max-height:calc(100svh - var(--head-h) - 200px);aspect-ratio:16/10}.apps.is-pinned .app-desk.is-wide{aspect-ratio:16/9}.apps.is-pinned .app-phone.solo{width:fit-content;height:min(62svh,620px)}.apps.is-pinned .app-phone.solo img{width:auto;height:100%}.ctl-row{gap:8px;display:flex;position:absolute;bottom:12px;right:12px}.ctl-row[hidden]{display:none}.ctl{color:#f4efe6;cursor:pointer;min-width:44px;min-height:44px;font-size:var(--step-small);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background-color var(--t-ui) ease, border-color var(--t-ui) ease;background:#0c0a089e;border:1px solid #ffffff38;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:600;display:inline-flex}.ctl:hover{background:#0c0a08d9;border-color:#ffffff73}.ctl svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.ctl .i-play{fill:currentColor;stroke:none}.ctl-sound{padding:0 16px 0 12px}#retPlay .i-play,#retPlay[data-state=paused] .i-pause{display:none}#retPlay[data-state=paused] .i-play{display:block}.ctl-sound .i-sound,.ctl-sound[aria-pressed=true] .i-muted{display:none}.ctl-sound[aria-pressed=true] .i-sound{display:block}.ctl-sound[aria-pressed=true]{border-color:var(--accent-d)}.contact{padding:clamp(112px,14vw,200px) 0 clamp(88px,11vw,160px)}.contact .h2{max-width:none}.contact .lede{margin-top:20px}.contact-mail{width:max-content;max-width:100%;font-size:var(--mail-size,8.4vw);letter-spacing:-.036em;white-space:nowrap;margin-top:clamp(40px,6vw,88px);font-weight:800;line-height:1;text-decoration:none;display:block}.contact-mail span:last-child{opacity:.82}.contact-mail:hover{text-underline-offset:.12em;text-decoration:underline;text-decoration-thickness:.06em}.foot{font-size:var(--step-small);padding:clamp(56px,7vw,96px) 0 40px}.foot-grid{gap:40px var(--gap);grid-template-columns:2fr 1fr 1fr 1.4fr;align-items:start;display:grid}.foot-brand{color:var(--soft);gap:14px;display:grid}.foot-mark{color:var(--ink);width:max-content}.foot-mark .logo{width:auto;height:34px}.foot-nav{justify-items:start;gap:4px;display:grid}.foot-h{font-size:var(--step-xs);color:var(--soft);margin-bottom:8px;font-weight:600}.foot-nav a,.foot-end a{padding:6px 0;text-decoration:none}.foot-nav a:hover,.foot-end a:hover{text-decoration:underline}.foot-end{justify-items:start;gap:4px;display:grid}.foot-end p{color:var(--soft);padding:6px 0}@media (max-width:1023px){.head-nav{display:none}.head-tools{margin-left:auto}.intro{display:block}.hero{min-height:0;padding:calc(var(--head-h) + 48px) 0 56px}.tree{top:var(--head-h);z-index:5;height:auto;margin:0 calc(-1 * var(--m));padding:12px var(--m);background:var(--ground);border-bottom:1px solid var(--line);display:block;position:sticky}.tree-inner{justify-content:space-between;align-items:center;gap:16px;display:flex}.tree-symbol{width:64px}.year{font-size:2.25rem}.story{padding-top:48px}.chapter{min-height:0;padding:36px 0}.sec-head .h2,.sec-head .lede,.svc-name,.svc p{grid-column:1/-1}.how-list{grid-template-columns:repeat(2,minmax(0,1fr))}.bh-name,.bh-text,.app-text,.app-shot{grid-column:1/-1}.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}@media (max-width:640px){.how-list{grid-template-columns:minmax(0,1fr)}.app-phone{width:30%;right:-1%}.app-phone.solo{width:64%}.app-shot:has(>.app-phone:not(.solo)) figcaption{padding-right:33%}.ctl-row .ctl-label{display:none}.ctl-sound{padding:0 12px}.contact-mail{font-size:var(--mail-size,15vw);white-space:normal}.contact-mail span{display:block}.foot-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}}
