@font-face{font-family: 'Sora';font-style: normal;font-weight: 300 700;font-display: swap;src: url('/assets/fonts/sora-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'JetBrains Mono';font-style: normal;font-weight: 400 500;font-display: swap;src: url('/assets/fonts/jetbrains-mono-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--black: #05070d;--ink: #0b1020;--navy: #0e1830;--blue: #2f6bff;--blue-strong: #1f4fe0;--sky: #7cc4ff;--ice: #9cc9ff;--white: #f5f8ff;--paper: #f3f5fa;--text: var(--white);--text-muted: rgba(233,240,255,0.66);--line: rgba(156,201,255,0.14);--line-strong: rgba(156,201,255,0.3);--surface: rgba(14,24,48,0.6);--gradient-brand: linear-gradient(120deg,var(--ice) 0%,var(--sky) 35%,var(--blue) 100%);--font-sans: 'Sora',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--font-mono: 'JetBrains Mono',ui-monospace,'Cascadia Code',Consolas,monospace;--step--1: clamp(0.8rem,0.78rem + 0.1vw,0.875rem);--step-0: clamp(1rem,0.96rem + 0.2vw,1.125rem);--step-1: clamp(1.2rem,1.1rem + 0.5vw,1.5rem);--step-2: clamp(1.5rem,1.3rem + 1vw,2.1rem);--step-3: clamp(2rem,1.5rem + 2.4vw,3.4rem);--step-4: clamp(2.6rem,1.6rem + 5vw,6rem);--step-5: clamp(3rem,1.4rem + 8vw,9rem);--space-section: clamp(5rem,3rem + 8vw,10rem);--gutter: clamp(1rem,0.5rem + 2.5vw,2.5rem);--container: 1240px;--radius: 20px;--radius-small: 12px;--header-height: 72px;--ease-out: cubic-bezier(0.16,1,0.3,1);--ease-in-out: cubic-bezier(0.65,0,0.35,1)}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-behavior: smooth;scroll-padding-top: var(--header-height);interpolate-size: allow-keywords}body{margin: 0;min-height: 100vh;background: var(--black);color: var(--text);font-family: var(--font-sans);font-size: var(--step-0);line-height: 1.6;font-weight: 300;-webkit-font-smoothing: antialiased;overflow-x: clip}img,svg,canvas{display: block;max-width: 100%}a{color: inherit;text-decoration: none}button,input,textarea{font: inherit;color: inherit}ul,ol{margin: 0;padding: 0;list-style: none}h1,h2,h3,p,dl,dd,figure{margin: 0}h1,h2,h3{font-weight: 600;line-height: 1.08;letter-spacing: -0.03em;text-wrap: balance}p{text-wrap: pretty}em{font-style: normal}address{font-style: normal}::selection{background: var(--blue);color: #fff}:focus-visible{outline: 2px solid var(--sky);outline-offset: 3px;border-radius: 6px}.container{width: min(100% - 2 * var(--gutter),var(--container));margin-inline: auto}.visually-hidden{position: absolute !important;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}.skip-link{position: fixed;top: 12px;left: 12px;z-index: 100;padding: 0.6rem 1rem;border-radius: 999px;background: var(--white);color: var(--black);transform: translateY(-200%);transition: transform 0.3s var(--ease-out)}.skip-link:focus{transform: none}.text-gradient{background: var(--gradient-brand);-webkit-background-clip: text;background-clip: text;color: transparent}.eyebrow{display: inline-flex;align-items: center;gap: 0.6rem;font-family: var(--font-mono);font-size: var(--step--1);letter-spacing: 0.08em;text-transform: uppercase;color: var(--sky)}.eyebrow-dark{color: var(--blue-strong)}.lead{font-size: var(--step-1);color: var(--text-muted);line-height: 1.5;max-width: 60ch}.btn{--btn-bg: transparent;position: relative;display: inline-flex;align-items: center;justify-content: center;gap: 0.6rem;min-height: 52px;padding: 0.9rem 1.6rem;border: 1px solid transparent;border-radius: 999px;background: var(--btn-bg);font-weight: 500;cursor: pointer;overflow: hidden;isolation: isolate;transition: color 0.4s var(--ease-out),border-color 0.4s var(--ease-out)}.btn::before{content: '';position: absolute;inset: 0;z-index: -1;border-radius: inherit;background: var(--white);transform: translateY(101%);transition: transform 0.5s var(--ease-out)}.btn:hover::before,.btn:focus-visible::before{transform: translateY(0)}.btn:hover,.btn:focus-visible{color: var(--black)}.btn-primary{--btn-bg: var(--blue);color: #fff;box-shadow: 0 10px 40px -10px rgba(47,107,255,0.7)}.btn-ghost{border-color: var(--line-strong);color: var(--white)}.btn-small{min-height: 42px;padding: 0.55rem 1.2rem;font-size: var(--step--1)}.header-cta{box-shadow: none}.tag-list{display: flex;flex-wrap: wrap;gap: 0.5rem}.tag-list li{padding: 0.3rem 0.75rem;border: 1px solid currentColor;border-radius: 999px;font-family: var(--font-mono);font-size: 0.75rem;opacity: 0.8}.tag-list-large li{font-size: var(--step--1);padding: 0.5rem 1rem}.pulse-dot{width: 8px;height: 8px;border-radius: 50%;background: var(--sky);box-shadow: 0 0 0 0 rgba(124,196,255,0.7);animation: pulse-dot 2s infinite}@keyframes pulse-dot{to{box-shadow: 0 0 0 12px rgba(124,196,255,0)}}.grain{position: fixed;inset: -50%;z-index: 90;pointer-events: none;opacity: 0.05;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation: grain 8s steps(8) infinite}@keyframes grain{0%,100%{transform: translate(0,0)}25%{transform: translate(-5%,3%)}50%{transform: translate(4%,-4%)}75%{transform: translate(-3%,-2%)}}.cursor{display: none}@media (pointer: fine){.motion .cursor{display: block;opacity: 0;transition: opacity 0.3s}.cursor.is-active{opacity: 1}.cursor-dot,.cursor-ring{position: fixed;top: 0;left: 0;z-index: 95;pointer-events: none;border-radius: 50%}.cursor-dot{width: 6px;height: 6px;margin: -3px 0 0 -3px;background: var(--white);mix-blend-mode: difference}.cursor-ring{display: grid;place-items: center;width: 38px;height: 38px;margin: -19px 0 0 -19px;border: 1px solid rgba(245,248,255,0.7);mix-blend-mode: difference;transition: width 0.4s var(--ease-out),height 0.4s var(--ease-out),margin 0.4s var(--ease-out),background-color 0.4s var(--ease-out),border-color 0.4s}.cursor-label{font-size: 0.75rem;font-weight: 500;color: #fff;opacity: 0;transition: opacity 0.3s}.cursor.is-hover .cursor-ring{width: 64px;height: 64px;margin: -32px 0 0 -32px;border-color: var(--sky)}.cursor.is-label .cursor-ring{mix-blend-mode: normal;width: 96px;height: 96px;margin: -48px 0 0 -48px;background: var(--blue);border-color: var(--blue)}.cursor.is-label .cursor-label{opacity: 1}.cursor.is-label .cursor-dot{opacity: 0}}.text-gradient .split-word{background: var(--gradient-brand);-webkit-background-clip: text;background-clip: text;color: transparent}.site-header{position: fixed;inset: 0 0 auto;z-index: 50;height: var(--header-height);transition: transform 0.5s var(--ease-out),background-color 0.4s,backdrop-filter 0.4s}.site-header.is-scrolled{background: rgba(5,7,13,0.72);backdrop-filter: blur(14px) saturate(140%);-webkit-backdrop-filter: blur(14px) saturate(140%);border-bottom: 1px solid var(--line)}.site-header.is-hidden{transform: translateY(-100%)}.header-inner{display: flex;align-items: center;gap: 2rem;height: 100%}.brand{display: inline-flex;align-items: center;gap: 0.6rem;font-weight: 600;font-size: 1.25rem;letter-spacing: -0.02em}.brand .logo-mark{transition: transform 0.8s var(--ease-out)}.brand:hover .logo-mark{transform: rotate(360deg)}.site-nav{margin-left: auto}.site-nav ul{display: flex;gap: 0.25rem}.site-nav a{position: relative;display: inline-block;padding: 0.5rem 0.9rem;font-size: 0.95rem;color: var(--text-muted);transition: color 0.3s}.site-nav a::after{content: '';position: absolute;left: 0.9rem;right: 0.9rem;bottom: 0.3rem;height: 1px;background: var(--sky);transform: scaleX(0);transform-origin: right;transition: transform 0.5s var(--ease-out)}.site-nav a:hover{color: var(--white)}.site-nav a:hover::after{transform: scaleX(1);transform-origin: left}.menu-toggle{display: none;width: 44px;height: 44px;margin-left: auto;border: 1px solid var(--line-strong);border-radius: 50%;background: transparent;cursor: pointer}.menu-bar{display: block;width: 18px;height: 1.5px;margin: 5px auto;background: var(--white);transition: transform 0.4s var(--ease-out)}.menu-toggle[aria-expanded='true'] .menu-bar:nth-of-type(2){transform: translateY(3.25px) rotate(45deg)}.menu-toggle[aria-expanded='true'] .menu-bar:nth-of-type(3){transform: translateY(-3.25px) rotate(-45deg)}.scroll-progress{position: absolute;left: 0;bottom: -1px;width: 100%;height: 2px;background: var(--gradient-brand);transform: scaleX(0);transform-origin: left}@media (max-width: 860px){.header-cta{display: none}.menu-toggle{display: block}.site-nav{position: fixed;inset: var(--header-height) 0 auto;padding: 1rem var(--gutter) 2rem;background: rgba(5,7,13,0.96);backdrop-filter: blur(16px);border-bottom: 1px solid var(--line);clip-path: inset(0 0 100% 0);transition: clip-path 0.6s var(--ease-out)}.site-nav.is-open{clip-path: inset(0 0 0 0)}.site-nav ul{flex-direction: column}.site-nav a{font-size: var(--step-2);padding: 0.6rem 0;color: var(--white)}.site-nav a::after{display: none}}.section{position: relative;padding-block: var(--space-section)}.section-head{display: grid;gap: 1.25rem;margin-bottom: clamp(3rem,6vw,5rem);max-width: 900px}.section-title{font-size: var(--step-4)}.section-light{background: var(--paper);color: var(--black)}.section-light .lead{color: #4a5570}.section-light ::selection{color: #fff}.site-footer{border-top: 1px solid var(--line);padding-block: 4rem 2rem;background: var(--black)}.footer-grid{display: grid;grid-template-columns: 2fr 1fr 1.4fr;gap: 3rem}.footer-brand p{margin-top: 1rem;color: var(--text-muted);max-width: 32ch}.footer-links{display: grid;gap: 0.6rem}.footer-links a,.footer-contact a{color: var(--text-muted);transition: color 0.3s}.footer-links a:hover,.footer-contact a:hover{color: var(--sky)}.footer-contact{display: grid;gap: 0.6rem;align-content: start;color: var(--text-muted)}.footer-legal{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 1rem;margin-top: 4rem;padding-top: 2rem;border-top: 1px solid var(--line);font-size: var(--step--1);color: var(--text-muted)}.footer-legal a:hover{color: var(--sky)}@media (max-width: 760px){.footer-grid{grid-template-columns: 1fr;gap: 2rem}}.hero{position: relative;display: grid;align-items: center;min-height: 100svh;padding-block: calc(var(--header-height) + 3rem) 6rem;overflow: hidden;isolation: isolate}.hero-canvas{--size: min(92vh,62vw);position: absolute;top: calc(50% - var(--size) / 2);right: -8vw;z-index: -2;width: var(--size);height: var(--size)}.hero-vignette{position: absolute;inset: 0;z-index: -1;pointer-events: none;background: radial-gradient(60% 50% at 75% 50%,rgba(47,107,255,0.18),transparent 70%),radial-gradient(40% 40% at 10% 90%,rgba(124,196,255,0.08),transparent 70%),linear-gradient(to bottom,transparent 70%,var(--black))}.hero-inner{display: grid;gap: 1.75rem}.hero-title{font-size: var(--step-5);max-width: 11ch;font-weight: 600;letter-spacing: -0.045em;line-height: 0.98}.hero-title em{display: inline-block;font-weight: 700;padding-right: 0.04em}.hero-lead{max-width: 46ch}.hero-actions{display: flex;flex-wrap: wrap;gap: 1rem;margin-top: 0.5rem}.scroll-cue{position: absolute;left: 50%;bottom: 2rem;width: 26px;height: 42px;border: 1.5px solid var(--line-strong);border-radius: 999px;transform: translateX(-50%)}.scroll-cue span{position: absolute;top: 8px;left: 50%;width: 3px;height: 8px;margin-left: -1.5px;border-radius: 2px;background: var(--sky);animation: scroll-cue 1.8s var(--ease-in-out) infinite}@keyframes scroll-cue{0%{transform: translateY(0);opacity: 1}70%{transform: translateY(14px);opacity: 0}100%{transform: translateY(0);opacity: 0}}@media (max-width: 860px){.hero-canvas{--size: 110vw;top: 4%;right: -30vw;opacity: 0.55}}.marquee-section{padding-block: 1.6rem;border-block: 1px solid var(--line);background: var(--black)}.marquee{display: flex;overflow: hidden;mask-image: linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image: linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}.marquee-track{display: flex;flex-shrink: 0;align-items: center;gap: 2.5rem;padding-right: 2.5rem;font-size: var(--step-2);font-weight: 500;letter-spacing: -0.02em;white-space: nowrap;color: rgba(245,248,255,0.85);animation: marquee 40s linear infinite}.marquee-sep{color: var(--blue);font-size: 0.6em}@keyframes marquee{to{transform: translateX(-100%)}}.services-grid{display: grid;grid-template-columns: repeat(2,1fr);gap: 1.25rem}.service-card{--mx: 50%;--my: 50%;position: relative;display: grid;align-content: start;gap: 1rem;min-height: 320px;padding: clamp(1.75rem,3vw,2.75rem);border: 1px solid rgba(5,7,13,0.1);border-radius: var(--radius);background: #fff;overflow: hidden;isolation: isolate;transition: transform 0.6s var(--ease-out),box-shadow 0.6s var(--ease-out),color 0.5s}.service-card::before{content: '';position: absolute;inset: 0;z-index: -1;background: radial-gradient(420px circle at var(--mx) var(--my),rgba(47,107,255,0.95),var(--black) 70%);opacity: 0;transition: opacity 0.5s var(--ease-out)}.service-card:hover{transform: translateY(-6px);box-shadow: 0 30px 60px -30px rgba(5,7,13,0.5);color: var(--white)}.service-card:hover::before{opacity: 1}.service-card:hover .service-index{color: var(--sky)}.service-card:hover p{color: rgba(245,248,255,0.8)}.service-index{font-family: var(--font-mono);font-size: var(--step--1);color: var(--blue-strong);transition: color 0.5s}.service-card h3{font-size: var(--step-2)}.service-card p{color: #4a5570;transition: color 0.5s}.service-card .tag-list{margin-top: auto;padding-top: 1rem}@media (max-width: 760px){.services-grid{grid-template-columns: 1fr}.service-card{min-height: 0}}.section-stats{padding-block: clamp(4rem,8vw,7rem);border-bottom: 1px solid var(--line)}.stats-grid{display: grid;grid-template-columns: repeat(4,1fr);gap: 2rem}.stat{display: grid;gap: 0.75rem;padding-top: 1.5rem;border-top: 1px solid var(--line-strong)}.stat-value{font-size: var(--step-4);font-weight: 600;letter-spacing: -0.04em;line-height: 1}.stat-value>span{background: var(--gradient-brand);-webkit-background-clip: text;background-clip: text;color: transparent}.stat-label{color: var(--text-muted);max-width: 24ch}@media (max-width: 860px){.stats-grid{grid-template-columns: repeat(2,1fr)}}.process-layout{display: grid;grid-template-columns: 1fr 1fr;gap: clamp(3rem,8vw,8rem);align-items: start}.process-head{position: sticky;top: calc(var(--header-height) + 3rem)}.process-head .section-title{font-size: var(--step-3)}.process-list{--progress: 0;position: relative;display: grid;gap: 4rem;padding-left: 3rem}.process-list::before,.process-list::after{content: '';position: absolute;left: 7px;top: 8px;bottom: 8px;width: 2px;background: var(--line)}.process-list::after{background: var(--gradient-brand);transform: scaleY(var(--progress));transform-origin: top}.process-step{position: relative;display: grid;gap: 0.75rem}.process-dot{position: absolute;left: calc(-3rem + 1px);top: 4px;z-index: 1;width: 14px;height: 14px;border: 2px solid var(--sky);border-radius: 50%;background: var(--black)}.process-index{font-family: var(--font-mono);font-size: var(--step--1);color: var(--sky)}.process-step h3{font-size: var(--step-3)}.process-step p{color: var(--text-muted);max-width: 40ch}@media (max-width: 860px){.process-layout{grid-template-columns: 1fr}.process-head{position: static}}.faq-layout{display: grid;grid-template-columns: 1fr 1.4fr;gap: clamp(2rem,6vw,6rem);align-items: start}.faq-item{border-bottom: 1px solid rgba(5,7,13,0.14)}.faq-item summary{display: flex;align-items: center;justify-content: space-between;gap: 1.5rem;padding-block: 1.6rem;cursor: pointer;list-style: none}.faq-item summary::-webkit-details-marker{display: none}.faq-item h3{font-size: var(--step-1);font-weight: 500;letter-spacing: -0.02em}.faq-icon{position: relative;flex-shrink: 0;width: 36px;height: 36px;border: 1px solid rgba(5,7,13,0.2);border-radius: 50%;transition: background-color 0.4s,transform 0.5s var(--ease-out)}.faq-icon::before,.faq-icon::after{content: '';position: absolute;top: 50%;left: 50%;width: 12px;height: 1.5px;margin: -0.75px 0 0 -6px;background: currentColor}.faq-icon::after{transform: rotate(90deg);transition: transform 0.4s var(--ease-out)}.faq-item[open] .faq-icon{background: var(--blue);color: #fff;border-color: var(--blue);transform: rotate(180deg)}.faq-item[open] .faq-icon::after{transform: rotate(0deg)}.faq-item::details-content{block-size: 0;overflow: hidden;transition: block-size 0.5s var(--ease-out),content-visibility 0.5s allow-discrete}.faq-item[open]::details-content{block-size: auto}.faq-answer{padding-bottom: 1.6rem;color: #4a5570;max-width: 62ch}@media (max-width: 860px){.faq-layout{grid-template-columns: 1fr}}.section-contact{overflow: hidden}.fill-text{font-size: var(--step-5);letter-spacing: -0.045em;line-height: 0.98;max-width: 14ch;margin-bottom: clamp(3rem,6vw,5rem)}.contact-grid{display: grid;grid-template-columns: 1fr 1.2fr;gap: clamp(2rem,6vw,6rem);align-items: start}.contact-copy{display: grid;gap: 2rem}.contact-actions{display: flex;flex-wrap: wrap;gap: 1rem}.contact-form{display: grid;grid-template-columns: 1fr 1fr;gap: 1.25rem;padding: clamp(1.5rem,3vw,2.5rem);border: 1px solid var(--line);border-radius: var(--radius);background: var(--surface);backdrop-filter: blur(10px)}.field{display: grid;gap: 0.5rem}.field-wide,.form-status,.contact-form .btn{grid-column: 1 / -1}.field label{font-size: var(--step--1);color: var(--text-muted)}.field input,.field textarea{width: 100%;padding: 0.9rem 1rem;border: 1px solid var(--line-strong);border-radius: var(--radius-small);background: rgba(5,7,13,0.6);transition: border-color 0.3s,box-shadow 0.3s;resize: vertical}.field input:focus,.field textarea:focus{outline: none;border-color: var(--sky);box-shadow: 0 0 0 4px rgba(124,196,255,0.15)}.field [aria-invalid='true']{border-color: #ff7a8a}.form-status{min-height: 1.5em;font-size: var(--step--1);color: var(--sky)}.form-status.is-error{color: #ff9aa6}@media (max-width: 860px){.contact-grid,.contact-form{grid-template-columns: 1fr}}.section-cases{background: var(--black)}.cases-head{display: grid;gap: 1.25rem;margin-bottom: clamp(2.5rem,5vw,4rem)}.cases-hint{display: none;font-family: var(--font-mono);font-size: var(--step--1);color: var(--text-muted)}.cases-hint span{display: inline-block;animation: nudge 1.6s var(--ease-in-out) infinite}@keyframes nudge{50%{transform: translateX(6px)}}.cases-track{display: grid;grid-template-columns: repeat(2,1fr);gap: 1.5rem;width: min(100% - 2 * var(--gutter),var(--container));margin-inline: auto}.section-cases.is-horizontal{padding-block: 0}.section-cases.is-horizontal .cases-pin{display: flex;flex-direction: column;justify-content: center;height: 100vh;padding-top: var(--header-height);overflow: hidden}.section-cases.is-horizontal .cases-head{gap: 0.75rem;margin-bottom: clamp(1.25rem,3vh,2.5rem)}.section-cases.is-horizontal .section-title{font-size: var(--step-3)}.section-cases.is-horizontal .cases-hint{display: block}.section-cases.is-horizontal .cases-track{display: flex;width: max-content;margin: 0;padding-inline: max(var(--gutter),(100vw - var(--container)) / 2);will-change: transform}.section-cases.is-horizontal .case-slide{width: min(44vw,600px);flex-shrink: 0}.section-cases.is-horizontal .case-media{aspect-ratio: auto;height: clamp(180px,36vh,360px)}.section-cases.is-horizontal .case-summary{display: none}.case-card{display: grid;height: 100%;border: 1px solid var(--line);border-radius: var(--radius);background: var(--ink);overflow: hidden;transform-style: preserve-3d;transition: border-color 0.5s,box-shadow 0.6s var(--ease-out)}.case-card:hover{border-color: var(--line-strong);box-shadow: 0 40px 80px -40px rgba(47,107,255,0.55)}.case-media{position: relative;aspect-ratio: 3 / 2;overflow: hidden}.case-media .case-visual{width: 100%;height: 100%;object-fit: cover;transition: transform 1.2s var(--ease-out)}.case-card:hover .case-visual{transform: scale(1.06)}.case-body{display: grid;gap: 0.75rem;align-content: start;padding: clamp(1.25rem,2.5vw,2rem)}.case-meta{display: flex;flex-wrap: wrap;gap: 0.5rem 1rem;font-family: var(--font-mono);font-size: 0.75rem;letter-spacing: 0.06em;text-transform: uppercase;color: var(--sky)}.case-meta span + span{color: var(--text-muted)}.case-title{font-size: var(--step-2)}.case-summary{color: var(--text-muted)}.case-link{display: inline-flex;gap: 0.5rem;margin-top: 0.5rem;font-weight: 500}.case-link span{transition: transform 0.4s var(--ease-out)}.case-card:hover .case-link span{transform: translateX(6px)}@media (max-width: 760px){.cases-track{grid-template-columns: 1fr}}.case-visual *{transform-box: fill-box;transform-origin: center}.v-float{animation: v-float 5s var(--ease-in-out) infinite;animation-delay: var(--d,0s)}.v-twinkle{animation: v-twinkle 2.4s ease-in-out infinite;animation-delay: var(--d,0s)}.v-pulse{animation: v-pulse 2.6s var(--ease-in-out) infinite;animation-delay: var(--d,0s)}.v-spin{animation: v-spin 30s linear infinite}.v-dash{stroke-dasharray: 6 8;animation: v-dash 1.6s linear infinite}.v-draw{stroke-dasharray: 600;stroke-dashoffset: 600;animation: v-draw 3.5s var(--ease-out) infinite alternate}.v-grow{transform-origin: left;animation: v-grow 4s var(--ease-in-out) infinite alternate}.v-bar{transform-origin: bottom;animation: v-bar 3s var(--ease-out) infinite alternate;animation-delay: var(--d,0s)}.v-meteor{animation: v-meteor 4s ease-in infinite}.v-fly{animation: v-fly 4s var(--ease-in-out) infinite}.v-packet{animation: v-packet 1.8s var(--ease-in-out) infinite;animation-delay: var(--d,0s)}.v-packet-back{animation-name: v-packet-back}.v-card{animation: v-card 4s var(--ease-in-out) infinite;animation-delay: var(--d,0s)}.v-gauge{animation: v-gauge 3s var(--ease-out) infinite alternate}@keyframes v-float{50%{transform: translateY(-8px)}}@keyframes v-twinkle{50%{opacity: 0.2;transform: scale(0.6)}}@keyframes v-pulse{50%{transform: scale(1.12);opacity: 0.8}}@keyframes v-spin{to{transform: rotate(360deg)}}@keyframes v-dash{to{stroke-dashoffset: -28}}@keyframes v-draw{to{stroke-dashoffset: 0}}@keyframes v-grow{from{transform: scaleX(0.2)}}@keyframes v-bar{from{transform: scaleY(0.3)}}@keyframes v-meteor{0%,60%{opacity: 0;transform: translate(0,0)}70%{opacity: 1}100%{opacity: 0;transform: translate(120px,66px)}}@keyframes v-fly{50%{transform: translate(-10px,8px) rotate(-6deg)}}@keyframes v-packet{0%{transform: translateX(0);opacity: 0}15%,85%{opacity: 1}100%{transform: translateX(150px);opacity: 0}}@keyframes v-packet-back{0%{transform: translateX(0);opacity: 0}15%,85%{opacity: 1}100%{transform: translateX(-150px);opacity: 0}}@keyframes v-card{50%{transform: translateY(-4px)}}@keyframes v-gauge{from{stroke-dasharray: 20 100}}.case-hero{padding-top: calc(var(--header-height) + clamp(2rem,6vw,5rem))}.case-hero>.container:first-child{display: grid;gap: 1.5rem}.case-hero-title{font-size: var(--step-5);letter-spacing: -0.045em;line-height: 0.98;max-width: 14ch}.breadcrumb ol{display: flex;flex-wrap: wrap;gap: 0.5rem;font-size: var(--step--1);color: var(--text-muted)}.breadcrumb li + li::before{content: '/';margin-right: 0.5rem;opacity: 0.5}.breadcrumb a:hover{color: var(--sky)}.case-facts{display: grid;grid-template-columns: repeat(3,1fr);gap: 1.5rem;margin-top: 1.5rem;padding-top: 1.5rem;border-top: 1px solid var(--line)}.case-facts dt{font-family: var(--font-mono);font-size: 0.75rem;letter-spacing: 0.08em;text-transform: uppercase;color: var(--sky)}.case-facts dd{margin-top: 0.4rem}.case-hero-media{margin-top: clamp(3rem,6vw,5rem);border: 1px solid var(--line);border-radius: var(--radius);overflow: hidden;box-shadow: 0 60px 120px -60px rgba(47,107,255,0.6)}.case-hero-media .case-visual{width: 100%;height: auto}.case-content{display: grid;gap: clamp(4rem,8vw,7rem);padding-block: var(--space-section)}.case-block{display: grid;grid-template-columns: 1fr 2fr;gap: clamp(1.5rem,5vw,5rem);align-items: start}.case-block h2{font-size: var(--step-3)}.case-block>p:not(.lead){font-size: var(--step-1);color: var(--text-muted);line-height: 1.6}.check-list{display: grid;gap: 1rem}.check-list li{position: relative;padding: 1.1rem 1.25rem 1.1rem 3.25rem;border: 1px solid var(--line);border-radius: var(--radius-small);background: var(--surface)}.check-list li::before{content: '';position: absolute;left: 1.2rem;top: 1.35rem;width: 18px;height: 18px;border-radius: 50%;background: var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 12px no-repeat}@media (max-width: 760px){.case-facts{grid-template-columns: 1fr}.case-block{grid-template-columns: 1fr}}.next-case{border-top: 1px solid var(--line)}.next-case-link{display: grid;gap: 1rem;padding-block: clamp(4rem,10vw,8rem)}.next-case-title{font-size: var(--step-5);font-weight: 600;letter-spacing: -0.045em;line-height: 1;background: linear-gradient(90deg,var(--white) 50%,rgba(245,248,255,0.25) 50%) 100% 0 / 200% 100%;-webkit-background-clip: text;background-clip: text;color: transparent;transition: background-position 0.9s var(--ease-out)}.next-case-link:hover .next-case-title{background-position: 0 0}.page-simple{padding-top: calc(var(--header-height) + clamp(3rem,8vw,6rem));min-height: 80vh}.page-simple .container{display: grid;gap: 1.5rem}.prose{max-width: 760px}.prose h2{font-size: var(--step-2);margin-top: 1.5rem}.prose p{color: var(--text-muted)}.prose a{color: var(--sky);text-decoration: underline;text-underline-offset: 3px}.not-found .section-title{max-width: 16ch}.section-salesforce{background: radial-gradient(50% 60% at 85% 40%,rgba(47,107,255,0.16),transparent 70%),var(--black)}.sf-layout{display: grid;grid-template-columns: minmax(0,1.05fr) minmax(0,1fr);gap: clamp(2rem,6vw,6rem);align-items: start}.sf-visual{position: sticky;top: calc(var(--header-height) + 2rem)}.sf-cta{margin-top: 2.5rem}.cloud-list{display: grid;border-bottom: 1px solid var(--line)}.cloud-item{position: relative;display: grid;grid-template-columns: 1fr auto;gap: 0.25rem 1.5rem;padding: 1.25rem 0.5rem 1.25rem 0;border-top: 1px solid var(--line);transition: padding 0.5s var(--ease-out),background-color 0.5s}.cloud-item::before{content: '';position: absolute;left: 0;top: -1px;bottom: 0;width: 2px;background: var(--gradient-brand);transform: scaleY(0);transition: transform 0.5s var(--ease-out)}.cloud-item-name{font-size: var(--step-1);font-weight: 500;letter-spacing: -0.02em;transition: color 0.4s}.cloud-item-summary{grid-column: 1;color: var(--text-muted);font-size: 0.95rem}.cloud-item-arrow{grid-row: 1 / span 2;grid-column: 2;align-self: center;color: var(--sky);opacity: 0;transform: translateX(-8px);transition: opacity 0.4s,transform 0.5s var(--ease-out)}.cloud-item:hover,.cloud-item.is-active{padding-left: 1.25rem;background: linear-gradient(90deg,rgba(47,107,255,0.12),transparent 70%)}.cloud-item:hover::before,.cloud-item.is-active::before{transform: scaleY(1)}.cloud-item:hover .cloud-item-name,.cloud-item.is-active .cloud-item-name{color: var(--sky)}.cloud-item:hover .cloud-item-arrow,.cloud-item.is-active .cloud-item-arrow{opacity: 1;transform: none}.cloud-hub{width: 100%;height: auto;overflow: visible}.cloud-hub *{transform-box: fill-box;transform-origin: center}.hub-orbit{fill: none;stroke: var(--line-strong);stroke-width: 1}.hub-orbit-outer{stroke: var(--line);stroke-dasharray: 3 12;animation: v-spin 60s linear infinite}.hub-link{stroke: var(--line-strong);stroke-width: 1.5;stroke-dasharray: 4 8;animation: v-dash 1.6s linear infinite;transition: stroke 0.4s}.hub-link.is-active{stroke: var(--sky);stroke-width: 2.5;stroke-dasharray: none}.hub-node circle{fill: var(--navy);stroke: var(--line-strong);stroke-width: 1.5;transition: fill 0.4s,stroke 0.4s}.hub-node text{fill: var(--white);font-family: var(--font-sans);font-size: 15px;font-weight: 500;pointer-events: none}.hub-node{transition: transform 0.6s var(--ease-out)}.hub-node.is-active{transform: scale(1.14)}.hub-node.is-active circle{fill: var(--blue);stroke: var(--sky)}.hub-core-pulse{fill: none;stroke: var(--sky);stroke-width: 1.5;animation: hub-pulse 2.8s var(--ease-out) infinite}.hub-core-title{fill: var(--white);font-family: var(--font-sans);font-size: 22px;font-weight: 600;letter-spacing: -0.02em}.hub-core-sub{fill: var(--sky);font-family: var(--font-mono);font-size: 12px}@keyframes hub-pulse{from{transform: scale(1);opacity: 0.8}to{transform: scale(1.45);opacity: 0}}.sf-hero{padding: calc(var(--header-height) + clamp(2rem,6vw,5rem)) 0 clamp(3rem,6vw,5rem)}.sf-hero .sf-layout{align-items: center}.sf-hero .sf-copy{display: grid;gap: 1.5rem}.sf-hero .case-hero-title{font-size: clamp(2rem,4.6vw,4.5rem);max-width: none}.sf-hero .sf-visual{position: static}.sf-index{border-top: 1px solid var(--line)}.sf-index-layout{display: grid;grid-template-columns: 1fr 1.3fr;gap: clamp(2rem,6vw,6rem);align-items: start}.cloud-blocks{display: grid;padding-bottom: var(--space-section)}.cloud-block{display: grid;grid-template-columns: 1fr 1.6fr;gap: clamp(1.5rem,5vw,5rem);padding-block: clamp(3rem,6vw,5rem);border-top: 1px solid var(--line);scroll-margin-top: var(--header-height)}.cloud-block-head{display: grid;gap: 1rem;align-content: start;position: sticky;top: calc(var(--header-height) + 2rem)}.cloud-block-head h2{font-size: var(--step-3)}.cloud-block .service-index{color: var(--sky)}.cloud-block-summary{color: var(--sky);font-size: var(--step-1);line-height: 1.4}.cloud-block-body{display: grid;gap: 1.75rem}.cloud-block-body>p{font-size: var(--step-1);color: var(--text-muted);line-height: 1.6}.pillars-grid{display: grid;grid-template-columns: repeat(4,1fr);gap: 1.25rem}.pillars-grid .service-card{min-height: 0}.pillars-grid .service-card h3{font-size: var(--step-1)}@media (max-width: 1080px){.pillars-grid{grid-template-columns: repeat(2,1fr)}}@media (max-width: 860px){.sf-layout,.sf-index-layout,.cloud-block{grid-template-columns: 1fr}.sf-visual{position: static;max-width: 460px;width: 100%;margin-inline: auto}.sf-hero .sf-visual{max-width: 380px}.sf-hero .case-hero-title{font-size: 10vw}.cloud-block-head{position: static}}@media (max-width: 560px){.pillars-grid{grid-template-columns: 1fr}}.ninna-stage{display: grid;place-items: center;width: 100%;height: 100%;background: radial-gradient(60% 70% at 50% 45%,rgba(47,107,255,0.35),transparent 70%),var(--ink)}.ninna-stage .ninna-phone{height: 80%}.ninna-phone{aspect-ratio: 9 / 19.5;padding: 6px;border: 2px solid transparent;border-radius: 30px;background: linear-gradient(#070b18,#070b18) padding-box,linear-gradient(135deg,var(--sky),var(--blue)) border-box;box-shadow: 0 30px 80px -30px rgba(47,107,255,0.6)}.ninna-screen{position: relative;width: 100%;height: 100%;border-radius: 23px;overflow: hidden;background: linear-gradient(#020314,#2b2545)}.ninna-poster{position: absolute;left: 0;bottom: 0;width: 100%;height: auto}.ninna-screen canvas{position: absolute;inset: 0;width: 100%;height: 100%}[data-interactive] .ninna-screen canvas{cursor: pointer}.case-hero-media-ninna{padding: clamp(2rem,5vw,4rem);background: radial-gradient(50% 60% at 30% 50%,rgba(47,107,255,0.28),transparent 70%),var(--ink)}.ninna-showcase{display: grid;grid-template-columns: auto 1fr;gap: clamp(2rem,6vw,5rem);align-items: center}.ninna-demo{display: grid;gap: 1.5rem;justify-items: center}.ninna-demo .ninna-phone{width: min(300px,72vw)}.ninna-controls{display: grid;gap: 0.6rem;width: 100%;max-width: 320px}.ninna-clock{display: grid;gap: 0.2rem;text-align: center}.ninna-clock [data-ninna-time]{font-family: var(--font-mono);font-size: var(--step-2);color: var(--white)}.ninna-caption{min-height: 3em;color: #ffd24c;font-size: 0.95rem}.ninna-slider-label{font-size: var(--step--1);color: var(--text-muted);text-align: center}.ninna-slider{width: 100%;accent-color: var(--blue);cursor: pointer}.ninna-legend{display: grid;gap: 1.5rem;align-content: center}.ninna-legend ul{display: grid;gap: 1rem}.ninna-legend li{padding: 1rem 1.25rem;border: 1px solid var(--line);border-radius: var(--radius-small);background: rgba(5,7,13,0.45);color: var(--text-muted)}.ninna-legend strong{display: block;margin-bottom: 0.2rem;color: #ffd24c;font-weight: 600}.ninna-credit{font-size: var(--step--1);color: var(--text-muted)}@media (max-width: 860px){.ninna-showcase{grid-template-columns: 1fr}}.motion [data-reveal],.motion [data-stagger]>*,.motion [data-hero-item]{opacity: 0}.motion [data-split],.motion [data-hero-title]{visibility: hidden}.split-line{overflow: clip;padding-bottom: 0.08em;margin-bottom: -0.08em}html.lenis,html.lenis body{height: auto;scroll-behavior: auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior: contain}.lenis.lenis-stopped{overflow: clip}@view-transition{navigation: auto}::view-transition-old(root){animation: 0.45s var(--ease-in-out) both vt-out}::view-transition-new(root){animation: 0.6s var(--ease-out) both vt-in}@keyframes vt-out{to{opacity: 0;transform: translateY(-24px) scale(0.98);filter: blur(6px)}}@keyframes vt-in{from{opacity: 0;transform: translateY(32px)}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;scroll-behavior: auto !important}.grain{display: none}.v-draw{stroke-dashoffset: 0}::view-transition-old(root),::view-transition-new(root){animation: none}}