.sub-header[data-astro-cid-4qbqxsna]{position:fixed;inset:0 0 auto;z-index:60;background:#ffffffd1;backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line, #e7e9f4)}.sub-header-inner[data-astro-cid-4qbqxsna]{display:flex;align-items:center;justify-content:space-between;height:72px}.sub-logo[data-astro-cid-4qbqxsna]{display:inline-flex;align-items:center;gap:8px;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:24px;color:var(--ink, #0d1023)}.sub-logo[data-astro-cid-4qbqxsna] .logo-mark[data-astro-cid-4qbqxsna]{display:block;width:22px;height:22px;flex:none}.sub-nav[data-astro-cid-4qbqxsna]{display:flex;align-items:center;gap:22px}.sub-link[data-astro-cid-4qbqxsna]{font-size:14.5px;font-weight:500;color:var(--ink-soft, #3a3f5c);transition:color .2s ease;position:relative}.sub-link[data-astro-cid-4qbqxsna]:hover{color:var(--c-indigo, #2b5cff)}.sub-link[data-astro-cid-4qbqxsna].is-current{color:var(--c-indigo, #2b5cff);font-weight:600}.sub-link[data-astro-cid-4qbqxsna].is-current:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:linear-gradient(90deg,var(--c-blue, #2f6bff),var(--c-violet, #1b3f7a));border-radius:2px}.sub-cta[data-astro-cid-4qbqxsna]{padding:10px 20px;font-size:14px}.sub-menu-toggle[data-astro-cid-4qbqxsna]{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}.sub-menu-toggle[data-astro-cid-4qbqxsna] span[data-astro-cid-4qbqxsna]{width:22px;height:2px;background:var(--ink, #0d1023);border-radius:2px}.sub-mobile-nav[data-astro-cid-4qbqxsna]{display:none;flex-direction:column;gap:4px;padding:16px 20px 22px;border-bottom:1px solid var(--line, #e7e9f4);background:#fff}.sub-mobile-nav[data-astro-cid-4qbqxsna] .btn[data-astro-cid-4qbqxsna]{margin-bottom:10px;justify-content:center}.sub-mobile-link[data-astro-cid-4qbqxsna]{padding:12px 6px;font-size:16px;border-bottom:1px solid var(--line, #f0f1f8)}@media(max-width:860px){.sub-nav[data-astro-cid-4qbqxsna]{display:none}.sub-menu-toggle[data-astro-cid-4qbqxsna],.sub-mobile-nav[data-astro-cid-4qbqxsna][data-open]{display:flex}}.sub-footer[data-astro-cid-qag53rhg]{border-top:1px solid var(--line, #e7e9f4);padding:56px 0 32px;background:var(--bg-tint, #f7f8fe)}.sub-footer-top[data-astro-cid-qag53rhg]{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between}.sub-logo[data-astro-cid-qag53rhg]{display:inline-flex;align-items:center;gap:8px;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:24px;color:var(--ink, #0d1023)}.sub-logo[data-astro-cid-qag53rhg] .logo-mark[data-astro-cid-qag53rhg]{display:block;width:22px;height:22px;flex:none}.sub-footer-brand[data-astro-cid-qag53rhg] address[data-astro-cid-qag53rhg]{margin-top:14px;font-style:normal;color:var(--ink-mute, #6b7192);font-size:13.5px;line-height:1.9}.sub-footer-nav[data-astro-cid-qag53rhg]{display:flex;gap:56px}.sub-footer-col[data-astro-cid-qag53rhg] h3[data-astro-cid-qag53rhg]{font-family:Space Grotesk,sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute, #6b7192);margin:0 0 12px}.sub-footer-col[data-astro-cid-qag53rhg] a[data-astro-cid-qag53rhg]{display:block;padding:5px 0;color:var(--ink-soft, #3a3f5c);font-size:14px}.sub-footer-col[data-astro-cid-qag53rhg] a[data-astro-cid-qag53rhg]:hover{color:var(--c-indigo, #2b5cff)}.sub-footer-bottom[data-astro-cid-qag53rhg]{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-top:40px;padding-top:20px;border-top:1px solid var(--line, #e7e9f4);font-size:13px;color:var(--ink-mute, #6b7192)}@media(max-width:640px){.sub-footer-nav[data-astro-cid-qag53rhg]{gap:32px}}.subpage{background:var(--bg, #f5f3ee);color:var(--ink, #0d1023)}.subpage .wrap{width:min(100% - 40px,var(--maxw, 1200px));margin-inline:auto}.subpage main{display:block}.subpage .page-body{padding-top:96px}.subpage .section{padding:72px 0}.subpage .section--tight{padding:48px 0}.subpage .section--tint{background:var(--bg-tint, #efece4)}.subpage .page-head{padding:40px 0 8px}.subpage .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:Space Grotesk,Inter,sans-serif;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--c-indigo, #2b5cff);font-weight:600}.subpage h1.page-title{font-family:Zen Kaku Gothic New,sans-serif;font-weight:900;font-size:clamp(30px,5vw,52px);line-height:1.15;letter-spacing:-.01em;margin:14px 0 0;color:var(--ink, #0d1023)}.subpage .page-lead{margin:16px 0 0;max-width:62ch;font-size:17px;line-height:1.75;color:var(--ink-soft, #3a3f5c);word-break:auto-phrase;text-wrap:pretty}.subpage .article-summary{margin-top:20px;padding:2px 0 2px 16px;border-left:3px solid var(--c-indigo);max-width:72ch;font-size:16.5px;line-height:1.9;color:var(--ink-soft)}.subpage h2.section-title{font-family:Zen Kaku Gothic New,sans-serif;font-weight:700;font-size:clamp(22px,3.4vw,34px);line-height:1.25;margin:0 0 20px}.subpage h3{font-family:Zen Kaku Gothic New,sans-serif;font-weight:700}.subpage p{color:var(--ink-soft, #3a3f5c);line-height:1.8}.subpage .rise{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.subpage .rise.is-in{opacity:1;transform:none}.subpage .card{background:var(--card, #fff);border:1px solid var(--line, #e7e9f4);border-radius:var(--radius, 22px);padding:26px;box-shadow:var(--shadow-soft, 0 10px 34px -20px rgba(30,40,110,.22));transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.subpage a.card:hover,.subpage .card.is-hoverable:hover{transform:translateY(-4px);box-shadow:var(--shadow, 0 18px 50px -22px rgba(20,30,80,.24));border-color:#2b5cff57}.subpage .work-card{display:flex;flex-direction:column;text-decoration:none}.subpage .work-card-tag{align-self:flex-start;margin-bottom:14px}.subpage .work-card-title{font-family:Zen Kaku Gothic New,sans-serif;font-weight:700;font-size:19px;line-height:1.42;margin:0 0 10px;color:var(--ink)}.subpage .work-card-outcome{flex:1;font-size:14.5px;color:var(--ink-soft);line-height:1.85}.subpage .work-card-more{margin-top:18px;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--c-indigo);transition:transform .2s ease}.subpage a.work-card:hover .work-card-more{transform:translate(4px)}.subpage .contact-card{padding:clamp(24px,4vw,38px)}.subpage .contact-card .field input,.subpage .contact-card .field select,.subpage .contact-card .field textarea{background:var(--bg-tint)}.subpage .contact-card .field input:focus,.subpage .contact-card .field select:focus,.subpage .contact-card .field textarea:focus{background:#fff}.subpage .grid{display:grid;gap:22px}.subpage .grid-3{grid-template-columns:repeat(3,1fr)}.subpage .grid-2{grid-template-columns:repeat(2,1fr)}.subpage .grid-services-main{grid-template-columns:repeat(3,1fr)}.subpage .grid-services-sub{grid-template-columns:repeat(4,1fr)}.subpage .tag{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;font-size:12.5px;background:var(--bg-tint, #efece4);border:1px solid var(--line, #e7e9f4);color:var(--ink-mute, #6b7192)}.subpage .tag-row{display:flex;flex-wrap:wrap;gap:8px}.subpage .btn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:13px 24px;border-radius:999px;font-weight:600;font-size:15px;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease}.subpage .btn-primary{color:#fff;background:linear-gradient(120deg,var(--c-blue, #21419e),var(--c-indigo, #2b5cff) 55%,var(--c-violet, #1b3f7a));box-shadow:0 14px 34px -16px #21419e80}.subpage .btn-primary:hover{transform:translateY(-2px)}.subpage .btn-ghost{border-color:var(--line, #e7e9f4);color:var(--ink, #0d1023);background:#fff}.subpage .btn-ghost:hover{border-color:#2b5cff66;color:var(--c-indigo, #2b5cff)}.subpage .cta-band{border-radius:var(--radius, 22px);padding:56px 32px;text-align:center;color:#fff;background:linear-gradient(120deg,var(--c-blue, #21419e),var(--c-indigo, #2b5cff) 50%,var(--c-violet, #1b3f7a));box-shadow:var(--shadow, 0 18px 50px -22px rgba(30,40,110,.28))}.subpage .cta-band h2{color:#fff;font-family:Zen Kaku Gothic New,sans-serif;font-weight:900;font-size:clamp(24px,4vw,40px)}.subpage .cta-band p{color:#ffffffeb;margin:14px auto 26px;max-width:52ch}.subpage .cta-band .btn{background:#fff;color:var(--c-indigo, #2b5cff);box-shadow:0 14px 34px -14px #00000059}.subpage .breadcrumb{font-size:13px;color:var(--ink-mute, #6b7192);padding:6px 0 0}.subpage .breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}.subpage .breadcrumb li:after{content:"/";margin-left:6px;color:var(--line, #cfd2e6)}.subpage .breadcrumb li:last-child:after{content:""}.subpage .breadcrumb a:hover{color:var(--c-indigo, #2b5cff)}.subpage .prose{max-width:72ch}.subpage .prose h2{font-family:Zen Kaku Gothic New,sans-serif;font-weight:700;font-size:26px;margin:40px 0 14px}.subpage .prose h3{font-size:20px;margin:28px 0 10px}.subpage .prose p{margin:0 0 16px;font-size:16.5px}.subpage .prose ul,.subpage .prose ol{margin:0 0 16px 1.2em;color:var(--ink-soft, #3a3f5c);line-height:1.9}.subpage .prose a{color:var(--c-indigo, #2b5cff);text-decoration:underline;text-underline-offset:2px}.subpage .prose code{font-family:JetBrains Mono,monospace;background:var(--bg-tint, #efece4);padding:2px 6px;border-radius:6px;font-size:.9em}.subpage .prose pre{background:#0d1023;color:#eef;padding:18px;border-radius:12px;overflow-x:auto}.subpage .prose pre code{background:transparent;padding:0;color:inherit}.subpage .meta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;color:var(--ink-mute, #6b7192)}.subpage time{font-variant-numeric:tabular-nums}.subpage .empty-state{text-align:center;padding:56px 24px;border:1px dashed var(--line, #e7e9f4);border-radius:var(--radius, 22px);background:var(--bg-tint, #efece4)}.subpage .empty-state p{max-width:46ch;margin:8px auto 20px}.subpage .metrics{display:flex;flex-wrap:wrap;gap:22px}.subpage .metric .metric-value{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:26px;color:var(--c-indigo, #2b5cff)}.subpage .metric .metric-label{font-size:13px;color:var(--ink-mute, #6b7192)}.subpage .field{display:block;margin:0 0 20px}.subpage .field label{display:block;font-weight:600;font-size:14px;margin-bottom:7px}.subpage .field .req{color:var(--c-pink, #b5654d);margin-left:4px}.subpage .field input,.subpage .field select,.subpage .field textarea{width:100%;padding:12px 14px;border:1px solid var(--line, #e7e9f4);border-radius:12px;font:inherit;background:#fff;color:var(--ink, #0d1023)}.subpage .field input:focus,.subpage .field select:focus,.subpage .field textarea:focus{outline:none;border-color:var(--c-indigo, #2b5cff);box-shadow:0 0 0 3px #2b5cff24}.subpage .field textarea{min-height:150px;resize:vertical}.subpage .field .err{color:#d1385c;font-size:12.5px;margin-top:6px}.subpage .field input[aria-invalid=true],.subpage .field select[aria-invalid=true],.subpage .field textarea[aria-invalid=true]{border-color:#d1385c}.subpage .form-note{font-size:12.5px;color:var(--ink-mute, #6b7192)}.subpage .form-status{border-radius:12px;padding:14px 16px;margin:0 0 18px;font-size:14.5px}.subpage .form-status.success{background:#24d0a31f;border:1px solid rgba(36,208,163,.4);color:#0d7a5c}.subpage .form-status.error{background:#d1385c14;border:1px solid rgba(209,56,92,.4);color:#b02a4c}.subpage .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.subpage .char-count{font-size:12px;color:var(--ink-mute, #6b7192);text-align:right;margin-top:4px}.subpage .notfound{text-align:center;padding:120px 0 80px}.subpage .notfound .code{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(72px,16vw,160px);line-height:1;background:linear-gradient(120deg,var(--c-blue, #21419e),var(--c-violet, #1b3f7a));-webkit-background-clip:text;background-clip:text;color:transparent}.subpage .notfound-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}@media(max-width:900px){.subpage .grid-3,.subpage .grid-services-main,.subpage .grid-services-sub{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.subpage .grid-2,.subpage .grid-3,.subpage .grid-services-main,.subpage .grid-services-sub{grid-template-columns:1fr}.subpage .section{padding:52px 0}.subpage .page-body{padding-top:84px}}.subpage .hero-tech{position:relative;overflow:hidden}.subpage .hero-tech .wrap{position:relative;z-index:2}.subpage .hero-mesh{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.9;pointer-events:none}.subpage .hero-grid{position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(120% 80% at 20% 0%,#000 0%,transparent 70%);mask-image:radial-gradient(120% 80% at 20% 0%,#000 0%,transparent 70%);opacity:.5}.subpage .kin-clause{display:inline-block;opacity:0;transform:translateY(.4em);transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1)}.subpage .kin-in .kin-clause{opacity:1;transform:none}.subpage .blog-card-band{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;font-weight:600;color:#fff;padding:8px 18px}.subpage .blog-featured{display:flex;flex-direction:column;overflow:hidden;margin-top:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);text-decoration:none;color:var(--ink);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.subpage .blog-featured:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.subpage .blog-featured:active{transform:translateY(-1px)}.subpage .blog-featured-body{padding:26px 30px 28px}.subpage .blog-featured .featured-eyebrow{color:var(--c-indigo)}.subpage .blog-featured h2{font-size:clamp(21px,2.6vw,28px);line-height:1.35;margin:8px 0 6px}.subpage .blog-featured-sub{font-size:15px;color:var(--ink-mute);font-weight:600;margin:0 0 10px}.subpage .blog-featured-desc{max-width:720px;color:var(--ink-soft);margin:0}.subpage .blog-more{color:var(--c-indigo);font-size:14px;margin-top:14px;display:inline-block;font-weight:600}.subpage .blog-filter{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 24px}.subpage .blog-filter button{font:inherit;font-size:12.5px;letter-spacing:.02em;cursor:pointer;padding:7px 15px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink-soft);transition:all .2s ease}.subpage .blog-filter button:hover{border-color:var(--c-blue);color:var(--c-blue)}.subpage .blog-filter button.is-active{background:var(--c-blue);border-color:var(--c-blue);color:#fff}.subpage .blog-card{display:flex;flex-direction:column;overflow:hidden;cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);text-decoration:none;color:var(--ink);transition:transform .25s ease,box-shadow .25s ease}.subpage .blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.subpage .blog-card:active{transform:translateY(-1px)}.subpage .blog-card:focus-visible{outline:2px solid var(--c-indigo);outline-offset:2px}.subpage .blog-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}.subpage .blog-card-body>time{font-size:12.5px;color:var(--ink-mute);font-variant-numeric:tabular-nums}.subpage .blog-card h3{font-size:17px;line-height:1.45;margin:8px 0 4px}.subpage .blog-card-sub{font-size:13px;color:var(--ink-mute);margin:0 0 8px}.subpage .blog-card-desc{font-size:13.5px;color:var(--ink-soft);line-height:1.7;margin:0 0 12px}.subpage .blog-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.subpage .mini-tag{font-size:11px;color:var(--ink-mute);background:var(--bg-tint);border:1px solid var(--line);border-radius:999px;padding:2px 9px}.subpage .mini-tag--industry{color:var(--c-blue);border-color:#2b5cff47;background:#2b5cff0f}.subpage .cav{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:900px}.subpage .cav-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:22px 22px 20px;position:relative;overflow:hidden}.subpage .cav-item:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--c-blue),var(--c-indigo))}.subpage .cav-label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--c-indigo);text-transform:uppercase}.subpage .cav-jp{display:block;font-weight:700;font-size:15px;margin:4px 0 8px}.subpage .cav-item p{margin:0;font-size:14px;line-height:1.8;color:var(--ink-soft)}@media(max-width:760px){.subpage .cav{grid-template-columns:1fr}}.subpage .blog-card-more{margin-top:auto;color:var(--c-indigo);font-size:13px;font-weight:600}.subpage .blog-card.is-hidden{display:none}.subpage .cat-pill{display:inline-block;color:#fff;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;font-weight:600;padding:4px 12px;border-radius:999px}.subpage .article-subtitle{font-size:clamp(16px,2.2vw,20px);color:var(--ink-soft);font-weight:600;margin:8px 0 0}.subpage .prose-article{counter-reset:sec}.subpage .prose-article h2{counter-increment:sec;margin-top:2.4em;padding-top:1.2em;border-top:1px solid var(--line);font-size:clamp(20px,2.6vw,26px);line-height:1.4}.subpage .prose-article h2:before{content:counter(sec,decimal-leading-zero);font-family:var(--font-mono);font-size:13px;color:var(--c-indigo);letter-spacing:.1em;margin-right:10px;vertical-align:2px}.subpage .prose-article h3{margin-top:1.8em;font-size:17px;color:var(--c-blue)}.subpage .prose-article h2+p{font-size:1.02em;color:var(--ink);font-weight:500}.subpage .prose-article blockquote{margin:1.6em 0;padding:16px 20px;border:1px solid var(--line);border-left:3px solid var(--c-indigo);border-radius:12px;background:var(--bg-tint);color:var(--ink-soft)}.subpage .prose-article blockquote p{margin:0}.subpage .article-wrap{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start}.subpage .toc{position:sticky;top:112px;font-size:13px}.subpage .toc-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:10px}.subpage .toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}.subpage .toc li{margin:0}.subpage .toc li.depth-3 a{padding-left:26px;font-size:12.5px}.subpage .toc a{display:block;padding:6px 0 6px 14px;margin-left:-1px;color:var(--ink-mute);border-left:2px solid transparent;text-decoration:none;line-height:1.5;transition:color .2s ease,border-color .2s ease}.subpage .toc a:hover{color:var(--ink)}.subpage .toc a.is-current{color:var(--c-blue);border-left-color:var(--c-blue);font-weight:600}@media(max-width:900px){.subpage .article-wrap{grid-template-columns:1fr;gap:8px}.subpage .toc{position:static;top:auto;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;background:var(--card);margin-bottom:8px}.subpage .toc ol{border-left:none}}@media(prefers-reduced-motion:reduce){.subpage .rise,.subpage .kin-clause{opacity:1!important;transform:none!important;transition:none!important}.subpage .hero-mesh{display:none}}
