:root{--paper:#f6f5f2;--paper-card:#fff;--ink:#12100e;--ink-2:#4a453f;--ink-3:#8c857c;--line:#e2dfd8;--accent:#dd6b20;--accent-deep:#b9541a;--accent-tint:#fbeadc;--font-head:"Literata", Georgia, "Times New Roman", serif;--font-ui:"Manrope", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--wrap:1280px;--gutter:24px;--r-btn:8px;--ease-rise:cubic-bezier(.32, .72, 0, 1);--ease-soft:cubic-bezier(.23, 1, .32, 1);--t-hover:.15s;--t-press:.11s;--t-rise:.7s;--rise:24px;--rise-blur:4px}*,:before,:after{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:24px}h1,h2,h3{font-family:var(--font-head);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:500}p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit}img{max-width:100%;display:block}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{z-index:10;background:var(--ink);color:var(--paper);border-radius:var(--r-btn);padding:8px 12px;text-decoration:none;top:24px;left:24px}.frame{width:100%;max-width:var(--wrap);padding-inline:var(--gutter);border-inline:1px solid var(--line);margin-inline:auto}main>section{border-bottom:1px solid var(--line);overflow-x:clip}.kicker{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-3);margin-bottom:16px;font-size:12px;line-height:16px}.h2{max-width:680px;font-size:30px;line-height:1.15}.h2--lg{font-size:36px}@media (width>=900px){.h2{font-size:40px}.h2--lg{font-size:48px}}.art{width:100%;margin:0}.art__img{width:100%;height:auto;aspect-ratio:var(--art-ratio,3 / 2);object-fit:contain}.btn{border-radius:var(--r-btn);font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;transition:background-color var(--t-hover) ease, border-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press) var(--ease-soft);border:1px solid #0000;justify-content:center;align-items:center;padding:12px 24px;font-size:14px;line-height:20px;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--ink{background:var(--ink);color:var(--paper)}.btn--ink:hover{background:#241f1b}.btn--ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn--ghost:hover{border-color:var(--ink-3)}@media (hover:hover) and (pointer:fine){.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(1px)}}.btn--sm{padding:8px 12px}.head{z-index:20;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0}main>section{scroll-margin-top:72px}.head__in{align-items:center;gap:24px;padding-block:16px;display:flex}.head__brand{cursor:pointer;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.head__crt{flex:none;width:auto;height:34px}.brand-name{font-family:var(--font-ui);letter-spacing:-.035em;color:var(--ink);font-size:24px;font-weight:800;line-height:1}.head__nav{gap:32px;margin-inline:auto;display:none}.head__item{position:relative}.head__menu{top:calc(100% + 12px);z-index:5;background:var(--paper-card);border:1px solid var(--line);opacity:0;visibility:hidden;min-width:210px;transition:opacity .18s var(--ease-soft), transform .18s var(--ease-soft), visibility .18s;border-radius:10px;gap:2px;padding:8px;display:grid;position:absolute;inset-inline-start:-12px;transform:translateY(-6px);box-shadow:0 14px 34px #12100e17}.head__menu:before{content:"";inset-inline:0;height:13px;position:absolute;top:-13px}.head__item--menu:hover .head__menu,.head__item--menu:focus-within .head__menu{opacity:1;visibility:visible;transform:none}.head__sub{color:var(--ink-2);transition:background-color var(--t-hover) ease, color var(--t-hover) ease;border-radius:6px;padding:8px 12px;font-size:14px;line-height:20px;text-decoration:none;display:block}.head__sub:hover{background:var(--paper);color:var(--ink)}.head__link{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-2);transition:color var(--t-hover) ease;font-size:13px;line-height:20px;text-decoration:none;position:relative}.head__link:hover{color:var(--ink)}.head__link:after{content:"";inset-inline:0;background:var(--accent);transform-origin:0;height:1px;transition:transform .2s var(--ease-soft);position:absolute;bottom:-4px;transform:scaleX(0)}@media (hover:hover) and (pointer:fine){.head__link:hover:after{transform:scaleX(1)}}.head__cta{margin-inline-start:auto;padding:8px 16px}@media (width>=900px){.head__nav{display:flex}}.hero__in{padding-block:48px 0}.hero__copy{max-width:520px}.hero__title{flex-direction:column;font-size:36px;line-height:1.1;display:flex}.hero__lead{color:var(--ink-2);text-wrap:pretty;margin-top:24px;font-size:16px;line-height:26px}.hero__act{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.hero__art{margin-top:40px;margin-inline:calc(var(--gutter) * -1)}@media (width>=900px){.hero__in{grid-template-columns:minmax(0,520px) minmax(0,1fr);align-items:center;gap:48px;padding-block:64px;display:grid}.hero__title{font-size:44px}.hero__art{width:calc(100% + var(--gutter));margin:0;aspect-ratio:5/4;margin-inline-end:calc(var(--gutter) * -1);overflow:hidden}.hero__art .art,.final__art .art{height:100%}.hero__art .art__img,.final__art .art__img{aspect-ratio:auto;object-fit:cover;object-position:left center;width:100%;max-width:none;height:100%}}@media (width>=1280px){.hero__title{font-size:50px}}.proof__in{gap:24px;padding-block:32px;display:grid}.proof__count{font-family:var(--font-head);font-size:40px;line-height:1}.proof__note{color:var(--ink-3);max-width:240px;margin-top:8px;font-size:14px;line-height:20px}.marquee{scrollbar-width:none;cursor:grab;scroll-behavior:auto;overscroll-behavior-x:contain;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 48px calc(100% - 48px),#0000);mask-image:linear-gradient(90deg,#0000,#000 48px calc(100% - 48px),#0000)}.marquee::-webkit-scrollbar{display:none}.marquee[data-dragging]{cursor:grabbing}.marquee[data-dragging] .logo{-webkit-user-select:none;user-select:none}.marquee__track{width:max-content;display:flex}.marquee__run{align-items:center;gap:48px;padding-inline-end:48px;display:flex}.logo{color:var(--ink-3);white-space:nowrap;align-items:center;gap:8px;transition:color .2s;display:inline-flex}.logo:hover{color:var(--brand,var(--ink))}.logo__mark{flex:none;width:28px;height:28px}.logo__name{letter-spacing:-.01em;font-size:17px;font-weight:600;line-height:24px}@media (width>=900px){.proof__in{grid-template-columns:280px 1fr;align-items:center;gap:48px}.proof__num{border-inline-end:1px solid var(--line)}}.problem__in{padding-block:80px}.problem__list{gap:12px;max-width:680px;margin-top:32px;display:grid}.problem__list li{color:var(--ink-2);text-wrap:pretty;padding-inline-start:24px;position:relative}.problem__list li:before{content:"";inset-inline-start:0;background:var(--accent);width:8px;height:1px;position:absolute;top:11px}.problem__answer{border-top:1px solid var(--line);max-width:680px;font-family:var(--font-head);text-wrap:pretty;margin-top:40px;padding-top:32px;font-size:22px;line-height:1.4}.services .frame{padding-block:80px}.sec__head{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.cnav{flex:none;gap:8px;display:flex}.cbtn{border:1px solid var(--line);width:40px;height:40px;color:var(--ink);cursor:pointer;transition:border-color var(--t-hover) ease, color var(--t-hover) ease, opacity var(--t-hover) ease, transform var(--t-press) var(--ease-soft);background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.cbtn svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.cbtn:disabled{opacity:.3;cursor:default}.cbtn:active:not(:disabled){transform:translateY(1px)}@media (hover:hover) and (pointer:fine){.cbtn:hover:not(:disabled){border-color:var(--ink-3)}}.tabs{scrollbar-width:none;gap:24px;margin-top:32px;padding-bottom:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{cursor:pointer;font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-3);white-space:nowrap;transition:color var(--t-hover) ease;background:0 0;border:0;flex:none;padding:6px 0;font-size:13px;line-height:20px;position:relative}.tab[aria-selected=true]{color:var(--ink)}.tab:after{content:"";inset-inline:0;background:var(--accent);transform-origin:0;height:1px;transition:transform .2s var(--ease-soft);position:absolute;bottom:0;transform:scaleX(0)}.tab[aria-selected=true]:after{transform:scaleX(1)}@media (hover:hover) and (pointer:fine){.tab:hover{color:var(--ink-2)}}.stage{margin-top:40px}.stage>.svc{display:none}.stage>.svc[data-active]{animation:rise .48s var(--ease-rise) both;gap:24px;display:grid}@media (width>=900px){.stage>.svc[data-active]{grid-template-columns:minmax(0,1fr) minmax(0,460px);align-items:center;gap:56px}.stage .svc__art{max-width:560px;margin-inline:auto}}.svc__body{margin-top:0}.svc__title{font-size:26px;line-height:1.2}.svc__sub{color:var(--ink-2);text-wrap:pretty;margin-top:8px}.svc__list{gap:8px;margin-top:24px;display:grid}.svc__list li{color:var(--ink-2);padding-inline-start:24px;font-size:15px;line-height:22px;position:relative}.svc__list li:before{content:"";inset-inline-start:0;background:var(--ink-3);width:8px;height:1px;position:absolute;top:11px}.svc__stack{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.svc__stack li{border:1px solid var(--line);border-radius:var(--r-btn);font-family:var(--font-mono);color:var(--ink-3);padding:2px 8px;font-size:12px;line-height:16px}.svc__term{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-3);margin-top:16px;font-size:12px;line-height:16px}@media (prefers-reduced-motion:reduce){.stage>.svc[data-active]{animation-name:fade-in;animation-duration:.2s}}.how .frame{padding-block:80px}.how__list{gap:48px;margin-top:48px;display:grid}.step{border-top:1px solid var(--line);padding-top:24px}.step__n{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent);font-size:12px;line-height:16px}.step__title{margin-top:16px;font-size:22px;line-height:1.25}.step__text{color:var(--ink-2);text-wrap:pretty;margin-top:12px;font-size:15px;line-height:22px}@media (width>=900px){.how__list{grid-template-columns:repeat(3,1fr);gap:32px}}.works .frame{padding-block:80px}.works__note{max-width:680px;color:var(--ink-2);text-wrap:pretty;margin-top:16px}.works__list{gap:32px 24px;margin-top:40px;display:grid}.work{text-decoration:none;display:block}.work__shot{border:1px solid var(--line);background:var(--paper-card);transition:border-color var(--t-hover) ease, transform .2s var(--ease-soft);border-radius:6px;display:block;overflow:hidden}.work__shot img{aspect-ratio:16/10;object-fit:cover;object-position:top center;width:100%;height:auto}.work__label{font-family:var(--font-head);transition:color var(--t-hover) ease;margin-top:12px;font-size:19px;line-height:1.3;display:block}.work:hover .work__label{color:var(--accent-deep)}@media (hover:hover) and (pointer:fine){.work:hover .work__shot{border-color:var(--ink-3);transform:translateY(-3px)}}.works__apps{gap:40px;margin-top:64px;display:grid}.work-app{border-top:1px solid var(--line);gap:24px;padding-top:24px;display:grid}.work-app__shots{scrollbar-width:none;gap:12px;padding-bottom:4px;display:flex;overflow-x:auto}.work-app__shots::-webkit-scrollbar{display:none}.shot{border:1px solid var(--line);background:var(--paper-card);cursor:zoom-in;transition:border-color var(--t-hover) ease, transform .2s var(--ease-soft);border-radius:8px;flex:0 0 clamp(130px,24vw,190px);padding:0;overflow:hidden}.shot img{aspect-ratio:720/1523;object-fit:cover;object-position:top center;width:100%;height:auto}@media (hover:hover) and (pointer:fine){.shot:hover{border-color:var(--ink-3);transform:translateY(-3px)}}.shot:active{transform:translateY(1px)}.work-app__name{font-family:var(--font-head);font-size:22px;line-height:1.3}.work-app__text{color:var(--ink-2);text-wrap:pretty;margin-top:8px;font-size:15px;line-height:22px}.work-app__meta{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-3);margin-top:12px;font-size:12px;line-height:16px}@media (width>=700px){.works__list{grid-template-columns:repeat(2,1fr)}.work-app{gap:28px}}@media (width>=1100px){.works__list{grid-template-columns:repeat(3,1fr)}.works__apps{gap:56px}}.faq__in{padding-block:80px}.faq__list{border-top:1px solid var(--line);margin-top:40px}.qa{border-bottom:1px solid var(--line)}.qa__h{margin:0}.qa__q{cursor:pointer;width:100%;font-family:var(--font-head);letter-spacing:-.02em;color:var(--ink);text-align:start;transition:color var(--t-hover) ease;background:0 0;border:0;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;font-size:19px;font-weight:500;line-height:1.35;display:flex}.qa__sign{flex:none;width:14px;height:14px;position:relative}.qa__sign:before,.qa__sign:after{content:"";background:var(--ink-3);transition:transform .24s var(--ease-rise), background-color var(--t-hover) ease;position:absolute}.qa__sign:before{inset-inline:0;height:1px;margin-top:-.5px;top:50%}.qa__sign:after{inset-block:0;width:1px;margin-left:-.5px;left:50%}.qa[data-open] .qa__sign:after{transform:scaleY(0)}.qa[data-open] .qa__sign:before{background:var(--accent)}@media (hover:hover) and (pointer:fine){.qa__q:hover .qa__sign:before,.qa__q:hover .qa__sign:after{background:var(--ink)}}.qa__panel{opacity:0;transition:grid-template-rows .3s var(--ease-rise), opacity .2s var(--ease-rise);grid-template-rows:0fr;display:grid}.qa__inner{overflow:hidden}.qa[data-open] .qa__panel{opacity:1;grid-template-rows:1fr}.qa__a{color:var(--ink-2);text-wrap:pretty;max-width:680px;margin:0 0 20px;font-size:15px;line-height:22px}@media (width>=900px){.faq__in{grid-template-columns:1fr 2fr;align-items:start;gap:48px;display:grid}.faq__list{margin-top:0}}.final__in{padding-block:80px}.final__copy{max-width:560px}.final__title-line{display:block}.final__lead{color:var(--ink-2);text-wrap:pretty;margin-top:16px}.final__act{flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px;display:flex}.final__note{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-3);font-size:12px;line-height:16px}.final__art{margin-top:48px;margin-inline:calc(var(--gutter) * -1)}@media (width>=900px){.final__in{grid-template-columns:minmax(0,460px) minmax(0,1fr);align-items:center;gap:48px;display:grid}.final__art{width:calc(100% + var(--gutter));margin:0;aspect-ratio:5/4;margin-inline-end:calc(var(--gutter) * -1);overflow:hidden}}.foot{padding-block:32px 48px}.foot__in{border-inline:none;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;display:flex}.foot__brand{align-items:baseline;gap:10px;font-size:20px;display:flex}.foot__year{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-3);font-size:13px}.foot__year:before{content:"·";color:var(--ink-3);margin-inline-end:10px}.foot__links{flex-wrap:wrap;gap:24px;display:flex}.foot__link{color:var(--ink-2);border-bottom:1px solid var(--line);transition:color var(--t-hover) ease, border-color var(--t-hover) ease;font-size:14px;line-height:20px;text-decoration:none}.foot__link:hover{color:var(--ink);border-bottom-color:var(--accent)}@keyframes rise{0%{opacity:0;transform:translate3d(0, var(--rise), 0);filter:blur(var(--rise-blur))}to{opacity:1;filter:none;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.js [data-reveal]{opacity:0;transform:translate3d(0, var(--rise), 0);filter:blur(var(--rise-blur));transition:opacity var(--t-rise) var(--ease-rise), transform var(--t-rise) var(--ease-rise), filter var(--t-rise) var(--ease-rise);transition-delay:calc(var(--i,0) * var(--step,0s))}.js [data-reveal][data-visible]{opacity:1;filter:none;transform:none}.js .head__in>*,.js .hero__title-line,.js .hero__lead,.js .hero__act,.js .hero__art{opacity:0}.js[data-ready] .head__in>*{animation:fade-in .5s var(--ease-rise) both}.js[data-ready] .head__in>:nth-child(2){animation-delay:60ms}.js[data-ready] .head__in>:nth-child(3){animation-delay:.12s}.js[data-ready] .hero__title-line,.js[data-ready] .hero__lead,.js[data-ready] .hero__act{animation:rise var(--t-rise) var(--ease-rise) both}.js[data-ready] .hero__title-line{animation-delay:calc(60ms + var(--i,0) * 70ms)}.js[data-ready] .hero__lead{animation-delay:.34s}.js[data-ready] .hero__act{animation-delay:.42s}.js[data-ready] .hero__art{--rise:16px;animation:rise .9s var(--ease-rise) .14s both}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js [data-reveal]{filter:none;transition-duration:.24s;transition-delay:0s;transform:none}.js[data-ready] .head__in>*,.js[data-ready] .hero__title-line,.js[data-ready] .hero__lead,.js[data-ready] .hero__act,.js[data-ready] .hero__art{animation-name:fade-in;animation-duration:.24s;animation-delay:0s}.qa__panel{transition-duration:0s,.16s}.qa__sign:before,.qa__sign:after{transition-duration:0s}.btn,.work__label{transition-property:background-color,border-color,color}.btn:hover,.btn:active,.cbtn:active,.work:hover .work__shot{transform:none}.head__link:after{transition:none}}.lb{background:0 0;border:0;max-width:min(92vw,460px);max-height:92vh;padding:0;overflow:visible}.lb::backdrop{background:#12100ebd}.lb__img{object-fit:contain;border-radius:12px;width:100%;height:auto;max-height:92vh}.lb__close{top:-14px;border:1px solid var(--line);background:var(--paper);width:36px;height:36px;color:var(--ink);cursor:pointer;transition:border-color var(--t-hover) ease, transform var(--t-press) var(--ease-soft);border-radius:999px;padding:0;position:absolute;inset-inline-end:-14px}.lb__close:before,.lb__close:after{content:"";background:var(--ink);width:14px;height:1px;position:absolute;top:50%;left:50%}.lb__close:before{transform:translate(-50%,-50%)rotate(45deg)}.lb__close:after{transform:translate(-50%,-50%)rotate(-45deg)}.lb__close:active{transform:translateY(1px)}.lb[open]{animation:rise .26s var(--ease-rise) both}@media (prefers-reduced-motion:reduce){.lb[open]{animation-name:fade-in;animation-duration:.16s}.tab:after{transition-duration:0s}}.step__art{aspect-ratio:16/9;margin-bottom:20px;overflow:hidden}.step__art .art,.faq__art .art{height:100%}.step__art .art__img{aspect-ratio:auto;object-fit:cover;object-position:center 42%;width:100%;height:100%}.faq__art{display:none}@media (width>=900px){.faq__art{margin-top:40px;margin-inline-start:calc(var(--gutter) * -1);display:block}}.nf__in{align-items:center;gap:40px;padding-block:64px 96px;display:grid}.nf__title{flex-direction:column;gap:4px;display:flex}.nf__lead{max-width:460px;color:var(--ink-2);text-wrap:pretty;margin-top:24px}.nf__act{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.nf__art{margin-inline:calc(var(--gutter) * -1)}@media (width>=900px){.nf__in{grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:56px;padding-block:96px 120px}.nf__art{width:calc(100% + var(--gutter));margin:0;aspect-ratio:5/4;margin-inline-end:calc(var(--gutter) * -1);overflow:hidden}.nf__art .art__img{aspect-ratio:auto;object-fit:cover;object-position:left center;width:100%;max-width:none;height:100%}}.ways{background:var(--paper-card);transition:grid-template-rows .3s var(--ease-rise);grid-template-rows:0fr;display:grid}.ways[data-open]{grid-template-rows:1fr}.ways__in{overflow:hidden}.ways__row{border-bottom:1px solid var(--line);gap:8px;padding-block:20px;display:grid}.way{transition:background-color var(--t-hover) ease;border-radius:8px;align-items:baseline;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.way:hover{background:var(--paper)}.way__label{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink);font-size:14px;line-height:20px}.way__note{color:var(--ink-3);font-size:14px;line-height:20px}@media (width>=700px){.ways__row{grid-template-columns:repeat(4,1fr);gap:16px}.way{flex-direction:column;gap:4px}}@media (prefers-reduced-motion:reduce){.ways{transition-duration:0s}}
