:root{--paper:#f4f3ef;--paper-2:#e9e7e0;--ink:#16181b;--ink-2:#1f1e1c;--line:#d9d7d0;--line-dark:#2e2d2a;--muted:#4a4843;--muted-2:#6b6962;--muted-3:#8f8c84;--muted-4:#9b988f;--muted-dark:#b5b2a9;--accent:oklch(60% .19 35);--sans:"Archivo", Helvetica, Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--max:1320px;--gutter:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin:0}img{max-width:100%;display:block}.wrap{max-width:var(--max);padding-inline:var(--gutter);margin:0 auto}.eyebrow{font-family:var(--mono);letter-spacing:.14em;color:var(--muted-2);font-size:12px}.dark .eyebrow{color:var(--muted-3)}.dark{background:var(--ink);color:var(--paper)}.h-xl{letter-spacing:-.04em;margin-top:24px;font-size:clamp(44px,6vw,88px);font-weight:500;line-height:1}.h-lg{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(34px,4.4vw,60px);font-weight:500;line-height:1.02}.btn{border-radius:999px;padding:14px 22px;font-size:15px;transition:background .2s,color .2s;display:inline-block}.btn-outline{border:1px solid var(--ink)}.btn-outline:hover{background:var(--ink);color:var(--paper)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--ink);color:#fff}.dark .btn-accent:hover{background:var(--paper);color:var(--ink)}.btn-ink{background:var(--ink);color:var(--paper);padding:10px 16px;font-size:14px}.btn-ink:hover{background:var(--accent);color:#fff}.site-header{z-index:10;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f3f2eee0;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:24px;padding-block:18px;display:flex}.nav{align-items:center;gap:28px;font-size:14px;display:flex}@media (width<=720px){.nav a:not(.btn){display:none}}.logo{letter-spacing:-.01em;flex-direction:column;gap:.14em;line-height:1;display:inline-flex}.logo-word{display:flex}.logo-word b{font-weight:800}.logo-word span{font-weight:400}.logo-route{align-items:center;margin-left:2em;display:flex}.logo-route .a{background:currentColor;border-radius:50%;width:.17em;height:.17em}.logo-route .l{background:currentColor;flex:1;height:.06em;min-height:2px}.logo-route .b{background:var(--accent);border-radius:50%;width:.22em;height:.22em}.route{align-items:center;display:flex}.route .a{background:currentColor;border-radius:50%}.route .l{background:currentColor;flex:1}.route .b{background:var(--accent);border-radius:50%}.hero{padding-block:72px 40px}.hero h1{letter-spacing:-.045em;text-wrap:balance;margin-top:28px;font-size:clamp(52px,9.5vw,148px);font-weight:600;line-height:.92}.hero .route{max-width:62%;margin-top:36px}.hero .route .a{width:16px;height:16px}.hero .route .l{height:4px}.hero .route .b{width:22px;height:22px}.hero-foot{border-top:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:56px;padding-top:28px;display:flex}.hero-foot p{text-wrap:pretty;max-width:520px;font-size:clamp(20px,2vw,26px);line-height:1.3}.btn-row{flex-wrap:wrap;gap:12px;display:flex}.marquee{border-block:1px solid var(--line);overflow:hidden}.marquee-track{width:max-content;animation:40s linear infinite marquee;display:flex}.marquee-item{white-space:nowrap;align-items:center;gap:28px;padding:22px 14px;font-size:22px;display:flex}.marquee-item i{background:var(--accent);border-radius:50%;flex-shrink:0;width:10px;height:10px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}html{scroll-behavior:auto}}.section{padding-block:120px}.two-col{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:56px;display:grid}.lede{color:var(--muted);text-wrap:pretty;align-self:end;max-width:520px;font-size:19px;line-height:1.55}.friction{flex-wrap:wrap;align-items:center;gap:12px;margin-top:72px;display:flex}.friction-item{align-items:center;gap:12px;display:flex}.friction-item span:first-child{border:1px dashed var(--muted-4);color:var(--muted);white-space:nowrap;border-radius:999px;padding:12px 18px;font-size:15px}.friction-item span:last-child{color:var(--muted-4);font-family:var(--mono)}.friction-end{background:var(--ink);color:var(--paper);border-radius:999px;align-items:center;gap:14px;padding:10px 22px 10px 12px;display:flex}.friction-end .route{width:44px;padding-left:4px}.friction-end .route .a{width:6px;height:6px}.friction-end .route .l{height:2px}.friction-end .route .b{width:12px;height:12px}.friction-end strong{font-size:15px;font-weight:500}.ruled{border-top:1px solid var(--ink)}.ruled>.wrap{padding-block:40px 120px}.services{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));margin-top:56px;display:grid}.service{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:space-between;gap:40px;min-height:300px;padding:32px 28px 36px;transition:background .25s;display:flex}.service:hover{background:var(--paper-2)}.service .n{font-family:var(--mono);color:var(--accent);font-size:13px}.service h3{letter-spacing:-.02em;font-size:26px;font-weight:500}.service p{color:var(--muted);text-wrap:pretty;margin-top:12px;font-size:16px;line-height:1.5}.work-section>.wrap{padding-block:40px 120px}.work-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px;margin-top:56px;display:grid}.work-card{color:var(--paper);flex-direction:column;gap:20px;transition:opacity .2s;display:flex}.work-card:hover{color:var(--paper);opacity:.88}.work-shot{aspect-ratio:4/5;border:1px solid var(--line-dark);background:repeating-linear-gradient(135deg,#1c1b19 0 10px,#222120 10px 20px);border-radius:6px;position:relative;overflow:hidden}.work-shot img{object-fit:cover;width:100%;height:100%}.work-shot .ph{font-family:var(--mono);color:var(--muted-3);justify-content:space-between;align-items:flex-end;font-size:12px;display:flex;position:absolute;inset:auto 18px 18px}.work-shot .dot{background:var(--accent);border-radius:50%;width:12px;height:12px}.work-meta{font-family:var(--mono);letter-spacing:.08em;color:var(--muted-3);justify-content:space-between;gap:12px;font-size:12px;display:flex}.work-body{border-top:1px solid var(--line-dark);padding-top:16px}.work-body h3{letter-spacing:-.02em;font-size:26px;font-weight:500}.work-body p{color:var(--muted-dark);text-wrap:pretty;margin-top:10px;font-size:16px;line-height:1.5}.ba-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px;margin-top:56px;display:grid}.ba{border-radius:8px;padding:32px}.ba-before{border:1px dashed var(--muted-4)}.ba-after{background:var(--ink);color:var(--paper)}.ba-head{font-family:var(--mono);letter-spacing:.14em;color:var(--muted-2);justify-content:space-between;font-size:12px;display:flex}.ba-after .ba-head{color:var(--muted-3)}.ba ol{flex-direction:column;gap:10px;margin:28px 0 0;padding:0;list-style:none;display:flex}.ba li{border-radius:6px;align-items:center;gap:16px;padding:14px 16px;font-size:17px;display:flex}.ba-before li{background:var(--paper-2);color:var(--muted)}.ba-after li{background:var(--ink-2)}.ba li span{font-family:var(--mono);flex-shrink:0;width:22px;font-size:12px}.ba-before li span{color:var(--muted-4)}.ba-after li span{color:var(--accent)}.process{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:32px;margin-top:64px;display:grid}.step{border-top:2px solid var(--ink);padding-top:20px}.step .n{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:64px;font-weight:300;line-height:1}.step h3{letter-spacing:-.02em;margin-top:28px;font-size:24px;font-weight:500}.step p{color:var(--muted);text-wrap:pretty;margin-top:10px;font-size:16px;line-height:1.5}.principle{background:var(--accent);color:#fff}.principle .wrap{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:40px;padding-block:120px;display:grid}.principle .vroute{flex-direction:column;align-items:center;width:28px;height:clamp(140px,16vw,240px);padding-top:.6em;display:flex}.principle .vroute .a{background:var(--ink);border-radius:50%;width:14px;height:14px}.principle .vroute .l{background:var(--ink);flex:1;width:4px}.principle .vroute .b{background:#fff;border-radius:50%;width:24px;height:24px}.principle .big{letter-spacing:-.04em;text-wrap:balance;font-size:clamp(40px,6vw,92px);font-weight:500;line-height:.98}.principle .small{text-wrap:pretty;max-width:560px;margin-top:32px;font-size:20px;line-height:1.45}.about-text{color:var(--muted);text-wrap:pretty;padding-top:44px;font-size:21px;line-height:1.5}.contact .wrap{padding-block:120px 64px}.contact h2{letter-spacing:-.045em;text-wrap:balance;max-width:1100px;font-size:clamp(44px,7.5vw,120px);font-weight:500;line-height:.95}.contact-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:56px;display:flex}.contact-row p{color:var(--muted-dark);text-wrap:pretty;max-width:480px;font-size:20px;line-height:1.45}.contact-actions{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.contact-actions .btn{padding:18px 28px;font-size:17px}.contact-email{font-family:var(--mono);color:var(--muted-dark);font-size:14px}.site-footer{border-top:1px solid var(--line-dark);color:var(--muted-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:120px;padding-top:28px;font-size:14px;display:flex}.site-footer .logo{color:var(--paper)}.detail{padding-block:72px 56px}.detail-back{font-family:var(--mono);color:var(--muted-2);font-size:13px}.detail h1{letter-spacing:-.045em;text-wrap:balance;margin-top:28px;font-size:clamp(44px,7vw,104px);font-weight:600;line-height:.95}.detail-meta{border-top:1px solid var(--ink);font-family:var(--mono);letter-spacing:.08em;color:var(--muted-2);flex-wrap:wrap;gap:12px 28px;margin-top:28px;padding-top:20px;font-size:12px;display:flex}.detail-cover{border:1px solid var(--line);aspect-ratio:16/9;font-family:var(--mono);color:var(--muted-2);background:repeating-linear-gradient(135deg,#e9e7e0 0 10px,#e2e0d8 10px 20px);border-radius:8px;align-items:flex-end;margin-top:48px;padding:18px;font-size:12px;display:flex;overflow:hidden}.detail-cover img{object-fit:cover;width:100%;height:100%}.detail-cover.has-img{padding:0}.prose{max-width:68ch;color:var(--muted);font-size:19px;line-height:1.65}.prose>*+*{margin-top:1.1em}.prose h2{letter-spacing:-.02em;color:var(--ink);margin-top:2em;font-size:30px;font-weight:500;line-height:1.15}.prose strong{color:var(--ink);font-weight:600}.prose ol,.prose ul{padding-left:1.3em}.prose li+li{margin-top:.5em}.prose a{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.prose img{border:1px solid var(--line);border-radius:8px}.detail-demo{margin-top:40px}.detail-summary{color:var(--muted);text-wrap:pretty;max-width:720px;margin-top:20px;font-size:clamp(20px,2vw,24px);line-height:1.35}.detail-demo-link{color:var(--accent)}.detail-demo-link:hover{color:var(--ink)}.detail+.dark{margin-top:0}.detail-body{padding-block:72px 120px}.detail-cover+*{margin-top:0}.detail-cta-lead{letter-spacing:-.03em;max-width:760px;margin-bottom:28px;font-size:clamp(28px,3.4vw,44px);line-height:1.1}.prose h2:first-child{margin-top:0}.prose h3{color:var(--ink);margin-top:1.6em;font-size:22px;font-weight:500;line-height:1.2}.prose table{border-collapse:collapse;width:100%;font-size:16px}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px 10px 0}.prose th{font-family:var(--mono);letter-spacing:.08em;color:var(--muted-2);font-size:12px;font-weight:400}.work-badge{font-family:var(--mono);letter-spacing:.1em;background:var(--accent);color:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:inline-flex;position:absolute;top:14px;left:14px}.work-badge:before{content:"";background:#fff;border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.work-badge:before{animation:none}}section[id]{scroll-margin-top:72px}i[data-astro-cid-f7espo7c]{font-style:normal;display:block}
