.site-header{position:sticky;top:0;z-index:50;background:#ffffffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);transition:background-color var(--motion-micro-base) var(--motion-micro-ease),box-shadow var(--motion-micro-base) var(--motion-micro-ease),border-color var(--motion-micro-base) var(--motion-micro-ease),backdrop-filter var(--motion-micro-base) var(--motion-micro-ease)}.site-header-inner{max-width:var(--container);margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:16px;min-height:68px;transition:transform var(--motion-micro-base) var(--motion-micro-ease);transform-origin:top center}.site-header-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:800;letter-spacing:-.02em}.site-header-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-size:14px;box-shadow:var(--shadow-sm);transition:transform var(--motion-micro-base) var(--motion-micro-ease),border-radius var(--motion-micro-base) var(--motion-micro-ease);transform-origin:center}.site-header-name{font-size:14px;transition:transform var(--motion-micro-base) var(--motion-micro-ease),opacity var(--motion-micro-base) var(--motion-micro-ease);transform-origin:left center}.site-header-nav{display:flex;align-items:center;gap:14px;margin-left:8px;flex:1}.site-header-nav a{position:relative;text-decoration:none;color:var(--text);font-weight:700;font-size:13px;letter-spacing:-.01em;transition:color var(--motion-micro-fast) var(--motion-micro-ease),transform var(--motion-micro-fast) var(--motion-micro-ease)}.site-header-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:999px;background:color-mix(in srgb,var(--brand) 75%,#fff);transform:scaleX(.35);transform-origin:center;opacity:0;transition:transform var(--motion-micro-fast) var(--motion-micro-ease),opacity var(--motion-micro-fast) var(--motion-micro-ease)}.site-header-nav a:hover{color:var(--brand);transform:translate3d(0,-1px,0)}.site-header-nav a:focus-visible{color:var(--brand)}.site-header-nav a:hover:after{transform:scaleX(1);opacity:1}.site-header-right{display:flex;align-items:center;gap:10px}.site-header :where(a,button):focus-visible{outline:3px solid var(--brand-soft);outline-offset:3px;border-radius:10px}.site-header-nav a:focus-visible:after{transform:scaleX(1);opacity:1}.site-header.site-header-compact{background:#fffffffa;box-shadow:0 12px 28px #0f172a1f;border-color:var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header:focus-within{background:#fffffffa;box-shadow:0 12px 28px #0f172a24;border-color:var(--border-strong)}.site-header.site-header-compact .site-header-inner{transform:scale(.98)}.site-header.site-header-compact .site-header-mark{border-radius:8px;transform:scale(.92)}.site-header.site-header-compact .site-header-name{transform:scale(.95);opacity:.92}@media (max-width: 760px){.site-header-nav{display:none}}@media (prefers-reduced-motion: reduce){.site-header,.site-header-inner,.site-header-mark,.site-header-name,.site-header-nav a{transition:none}.site-header-nav a:after{transition:none}.site-header.site-header-compact .site-header-inner,.site-header.site-header-compact .site-header-mark,.site-header.site-header-compact .site-header-name{transform:none;opacity:1}}.landing-page{min-height:100vh;position:relative;height:100vh;overflow-y:auto;overflow-x:hidden;background:radial-gradient(900px 500px at 15% -10%,rgba(37,99,235,.1),transparent 60%),radial-gradient(900px 500px at 85% 10%,rgba(37,99,235,.08),transparent 55%),linear-gradient(#fff,#fff)}.landing-page:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.skip-to-content{position:absolute;left:12px;top:10px;z-index:120;transform:translateY(-160%);padding:10px 14px;border-radius:10px;background:#fff;border:1px solid var(--border-strong);color:var(--text);font-weight:700;text-decoration:none;box-shadow:var(--shadow-md);transition:transform var(--motion-micro-fast) var(--motion-micro-ease)}.skip-to-content:focus-visible{transform:translateY(0);outline:3px solid var(--brand-soft);outline-offset:2px}#main-content,#services,#features{scroll-margin-top:88px}#main-content:focus-visible{outline:2px solid var(--brand);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero{padding:72px 0 56px}.hero-content{max-width:var(--top-section-max-width);margin:0 auto;text-align:center}.hero-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:#ffffffeb;box-shadow:var(--shadow-sm);color:var(--muted);font-size:12px;font-weight:600;letter-spacing:-.01em;margin-bottom:16px;transition:transform var(--motion-micro-base) var(--motion-micro-ease),box-shadow var(--motion-micro-base) var(--motion-micro-ease),border-color var(--motion-micro-base) var(--motion-micro-ease)}.hero-badge:hover{transform:translate3d(0,-2px,0);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.hero-title{font-size:clamp(34px,5.2vw,56px);letter-spacing:-.03em;line-height:1.06;font-weight:800;color:var(--text);margin-bottom:16px;text-wrap:balance}.hero-subtitle{max-width:760px;margin:0 auto 24px;font-size:16px;line-height:1.75;color:var(--muted)}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:28px}.hero-actions .btn{min-height:44px}.hero-actions .btn-secondary{min-width:170px}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px auto 0;max-width:720px}.stat-item{border:1px solid var(--border);background:#ffffffe6;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:14px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform var(--motion-micro-base) var(--motion-micro-ease),border-color var(--motion-micro-base) var(--motion-micro-ease),box-shadow var(--motion-micro-base) var(--motion-micro-ease)}.stat-item:hover{transform:translate3d(0,-3px,0);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.stat-number{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.stat-label{font-size:12px;color:var(--muted-2);font-weight:600}@media (max-width: 640px){.hero{padding:70px 0 44px}.hero-content{max-width:100%}.hero-title{font-size:clamp(30px,8.5vw,40px);line-height:1.12;margin-bottom:12px}.hero-title-break{display:none}.hero-subtitle{margin-bottom:18px;line-height:1.65}.hero-actions{flex-direction:column;align-items:stretch;gap:10px}.hero-actions .btn{width:100%}.hero-stats{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.skip-to-content,.hero-badge,.stat-item{transition:none}.hero-badge:hover,.stat-item:hover{transform:none}}.service-detail-page{min-height:100vh;background:radial-gradient(900px 500px at 20% -10%,rgba(37,99,235,.1),transparent 60%),radial-gradient(900px 500px at 85% 10%,rgba(37,99,235,.08),transparent 55%),linear-gradient(#fff,#fff)}.service-detail-inner{max-width:var(--section-max-width);margin:0 auto;padding:34px 24px 64px;animation:service-detail-enter .42s var(--motion-micro-ease-emphasized)}.service-detail-back{display:inline-flex;align-items:center;gap:10px;color:var(--muted);text-decoration:none;font-weight:700;font-size:13px;margin-bottom:18px;transition:color var(--motion-micro-fast) var(--motion-micro-ease)}.service-detail-back:hover{color:var(--text)}.service-detail-icon{width:var(--icon-frame-size);height:var(--icon-frame-size);border-radius:var(--icon-frame-radius);display:grid;place-items:center;font-size:20px;background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow-sm);margin-bottom:12px;transition:transform var(--motion-micro-base) var(--motion-micro-ease-emphasized),box-shadow var(--motion-micro-base) var(--motion-micro-ease),border-color var(--motion-micro-base) var(--motion-micro-ease)}.service-detail-icon:hover{transform:translate3d(0,-3px,0) scale(1.03);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.service-detail-title{font-size:clamp(28px,4vw,42px);font-weight:800;letter-spacing:-.03em;line-height:1.12;margin-bottom:10px;color:var(--text)}.service-detail-lead{max-width:820px;color:var(--muted);line-height:1.75;font-size:16px;margin-bottom:16px}.service-detail-features-inline{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 16px}.service-detail-features-inline span{font-size:12px;font-weight:700;color:var(--muted);padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:#ffffffbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.service-detail-cta{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:var(--brand);color:#fff;text-decoration:none;font-weight:700;font-size:14px;box-shadow:var(--shadow-sm);transition:transform var(--motion-micro-fast) var(--motion-micro-ease),box-shadow var(--motion-micro-fast) var(--motion-micro-ease),background-color var(--motion-micro-fast) var(--motion-micro-ease);margin:10px 0 24px}.service-detail-cta:hover{transform:var(--motion-micro-lift);box-shadow:var(--shadow-md);background:var(--brand-2)}.service-detail-section-title{margin:26px 0 10px;font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.service-detail-prose{color:var(--muted);line-height:1.8;font-size:15px}.service-detail-prose p+p{margin-top:12px}.service-detail-steps{margin:10px 0 0;padding-left:18px;color:var(--muted);line-height:1.8;font-size:15px}.service-detail-steps li{padding:6px 0}.service-detail-steps li::marker{color:var(--brand);font-weight:800}.service-detail-diagram{margin-top:10px;padding:16px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow-x:auto;transition:transform var(--motion-micro-base) var(--motion-micro-ease-emphasized),box-shadow var(--motion-micro-base) var(--motion-micro-ease),border-color var(--motion-micro-base) var(--motion-micro-ease)}.service-detail-diagram:hover{transform:translate3d(0,-3px,0);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.service-detail-diagram .mermaid-target{display:flex;justify-content:center;min-height:120px;align-items:center}.service-detail-diagram .mermaid-target svg{max-width:100%;height:auto}.service-detail-diagram-caption{font-size:12px;color:var(--muted-2);margin-top:10px;text-align:center;line-height:1.6}.service-detail-architecture-details{margin-top:12px;padding:14px 16px;border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm);transition:border-color var(--motion-micro-base) var(--motion-micro-ease),box-shadow var(--motion-micro-base) var(--motion-micro-ease)}.service-detail-architecture-summary{color:var(--text);font-weight:800;font-size:14px;outline:none}.service-detail-architecture-content{margin-top:14px}.service-detail-footer{margin-top:44px;padding-top:18px;border-top:1px solid var(--border);text-align:center;color:var(--muted-2);font-size:13px}.service-detail-footer a{color:var(--brand);text-decoration:none;font-weight:700;transition:color var(--motion-micro-fast) var(--motion-micro-ease),text-decoration-color var(--motion-micro-fast) var(--motion-micro-ease)}.service-detail-footer a:hover{text-decoration:underline}@keyframes service-detail-enter{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@media (max-width: 640px){.service-detail-inner{padding:26px 18px 56px}}@media (prefers-reduced-motion: reduce){.service-detail-cta,.service-detail-footer a,.service-detail-back,.service-detail-icon,.service-detail-diagram,.service-detail-architecture-details{transition:none}.service-detail-cta:hover,.service-detail-icon:hover,.service-detail-diagram:hover{transform:none}.service-detail-inner{animation:none}}.app{min-height:100vh;display:flex;flex-direction:column}.app-route-shell{min-height:100vh;animation:page-enter var(--motion-page-enter) var(--motion-micro-ease-emphasized);transform-origin:center top;will-change:opacity,transform,filter}.app-route-shell.app-route-landing{animation-duration:calc(var(--motion-page-enter) + 40ms)}.app-route-shell.app-route-service{animation-duration:var(--motion-page-enter-fast)}@keyframes page-enter{0%{opacity:0;transform:translate3d(0,14px,0) scale(.992);filter:blur(3px)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}@media (prefers-reduced-motion: reduce){.app-route-shell{animation:none}}:root{--ui-color-bg: #ffffff;--ui-color-surface: #ffffff;--ui-color-surface-subtle: #f8fafc;--ui-color-text: #0f172a;--ui-color-text-muted: #475569;--ui-color-text-subtle: #64748b;--ui-color-border: rgba(15, 23, 42, .12);--ui-color-border-strong: rgba(15, 23, 42, .18);--ui-color-brand: #2563eb;--ui-color-brand-strong: #1d4ed8;--ui-color-brand-soft: rgba(37, 99, 235, .12);--ui-color-success: #16a34a;--ui-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--ui-shadow-md: 0 10px 30px rgba(15, 23, 42, .1);--ui-radius-sm: 10px;--ui-radius-md: 14px;--ui-radius-lg: 18px;--ui-radius-pill: 999px;--ui-motion-fast: .14s;--ui-motion-base: .22s;--ui-motion-slow: .32s;--ui-motion-ease: cubic-bezier(.2, 0, 0, 1);--ui-motion-ease-emphasis: cubic-bezier(.16, 1, .3, 1);--ui-space-2: 8px;--ui-space-3: 12px;--ui-space-4: 16px;--ui-space-5: 20px;--ui-space-6: 24px}.ui-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:var(--ui-radius-pill);padding:var(--ui-space-3) var(--ui-space-5);font-size:14px;font-weight:600;letter-spacing:-.01em;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:transform var(--ui-motion-fast) var(--ui-motion-ease),background-color var(--ui-motion-fast) var(--ui-motion-ease),border-color var(--ui-motion-fast) var(--ui-motion-ease),box-shadow var(--ui-motion-fast) var(--ui-motion-ease),color var(--ui-motion-fast) var(--ui-motion-ease),opacity var(--ui-motion-fast) var(--ui-motion-ease)}.ui-button:focus-visible{outline:3px solid var(--ui-color-brand-soft);outline-offset:2px}.ui-button--primary{background:var(--ui-color-brand);color:#fff;box-shadow:var(--ui-shadow-sm)}.ui-button--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--ui-color-brand-strong);box-shadow:0 14px 30px #2563eb40;transform:translate3d(0,-2px,0)}.ui-button--secondary{background:#fff;color:var(--ui-color-text);border-color:var(--ui-color-border-strong)}.ui-button--secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--ui-color-surface-subtle)}.ui-button--lg{padding:14px 22px}.ui-button:disabled,.ui-button[aria-disabled=true]{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none;pointer-events:none}.ui-card{border:1px solid var(--ui-color-border);background:var(--ui-color-surface);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-sm)}.ui-card--interactive{transition:transform var(--ui-motion-fast) var(--ui-motion-ease),box-shadow var(--ui-motion-fast) var(--ui-motion-ease),border-color var(--ui-motion-fast) var(--ui-motion-ease)}.ui-card--interactive:hover{border-color:var(--ui-color-border-strong);box-shadow:var(--ui-shadow-md);transform:translateY(-2px)}.ui-section-intro{max-width:var(--section-max-width);margin:0 auto}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: var(--ui-color-bg);--surface: var(--ui-color-surface);--surface-2: var(--ui-color-surface-subtle);--text: var(--ui-color-text);--muted: var(--ui-color-text-muted);--muted-2: var(--ui-color-text-subtle);--border: var(--ui-color-border);--border-strong: var(--ui-color-border-strong);--brand: var(--ui-color-brand);--brand-2: var(--ui-color-brand-strong);--brand-soft: var(--ui-color-brand-soft);--shadow-sm: var(--ui-shadow-sm);--shadow-md: var(--ui-shadow-md);--success: var(--ui-color-success);--motion-micro-fast: .14s;--motion-micro-base: .22s;--motion-micro-slow: .32s;--motion-medium: .44s;--motion-page-enter: .52s;--motion-page-enter-fast: .46s;--motion-micro-ease: cubic-bezier(.2, 0, 0, 1);--motion-micro-ease-emphasized: cubic-bezier(.16, 1, .3, 1);--motion-micro-lift: translateY(-1px);--motion-micro-press: translateY(0);--motion-scroll-duration: .56s;--radius-sm: var(--ui-radius-sm);--radius-md: var(--ui-radius-md);--radius-lg: var(--ui-radius-lg);--container: 1120px;--section-max-width: 980px;--top-section-max-width: 980px;--icon-frame-size: 44px;--icon-frame-radius: 12px}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text);background:var(--bg);line-height:1.55}#root{min-height:100vh}a{color:inherit}::selection{background:var(--brand-soft)}.container{max-width:var(--container);margin:0 auto;padding:0 24px}.section-title{font-size:clamp(28px,3.2vw,40px);letter-spacing:-.02em;line-height:1.15;font-weight:800;text-align:center;color:var(--text)}.section-subtitle{margin:10px auto 0;max-width:720px;text-align:center;color:var(--muted);font-size:16px;line-height:1.7}.scroll-reveal{opacity:0;transform:translate3d(0,16px,0) scale(.985);filter:blur(3px);transition-property:opacity,transform,filter;transition-duration:var(--motion-scroll-duration);transition-timing-function:var(--motion-micro-ease-emphasized);will-change:opacity,transform}.scroll-reveal.is-visible{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}.reveal-delay-0{transition-delay:0ms}.reveal-delay-1{transition-delay:80ms}.reveal-delay-2{transition-delay:.14s}.reveal-delay-3{transition-delay:.2s}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:999px;padding:12px 18px;font-size:14px;font-weight:600;letter-spacing:-.01em;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:transform var(--motion-micro-fast) var(--motion-micro-ease),background-color var(--motion-micro-fast) var(--motion-micro-ease),border-color var(--motion-micro-fast) var(--motion-micro-ease),box-shadow var(--motion-micro-fast) var(--motion-micro-ease),color var(--motion-micro-fast) var(--motion-micro-ease),opacity var(--motion-micro-fast) var(--motion-micro-ease);-webkit-user-select:none;user-select:none}.interaction-target{position:relative;transition:transform var(--motion-micro-fast) var(--motion-micro-ease),box-shadow var(--motion-micro-fast) var(--motion-micro-ease),border-color var(--motion-micro-fast) var(--motion-micro-ease),color var(--motion-micro-fast) var(--motion-micro-ease),background-color var(--motion-micro-fast) var(--motion-micro-ease),opacity var(--motion-micro-base) var(--motion-micro-ease)}.interaction-target:hover:not(:disabled):not(.is-loading){transform:var(--motion-micro-lift)}.interaction-target:focus-visible{outline:3px solid var(--brand-soft);outline-offset:2px}.interaction-target:active:not(:disabled){transform:var(--motion-micro-press)}.interaction-target.is-loading{cursor:progress;pointer-events:none;opacity:.9}.interaction-target.is-loading:after{content:"";width:14px;height:14px;border-radius:999px;border:2px solid currentColor;border-right-color:transparent;animation:spin var(--motion-micro-slow) linear infinite}.interaction-target.is-success{background:color-mix(in srgb,var(--success) 86%,#fff);border-color:color-mix(in srgb,var(--success) 70%,#fff);color:#fff}.interaction-target.is-success:after{content:"✓";font-weight:800}.btn:focus-visible{outline:3px solid var(--brand-soft);outline-offset:2px}.btn-primary{background:var(--brand);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--brand-2);box-shadow:0 14px 30px #2563eb40;transform:translate3d(0,-2px,0)}.btn-secondary{background:#fff;color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-2)}.btn:active:not(:disabled){transform:var(--motion-micro-press)}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none;pointer-events:none}.btn-large{padding:14px 22px;font-size:14px}@media (max-width: 640px){.container{padding:0 18px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.interaction-target,.interaction-target:after{transition:none;animation:none}.scroll-reveal,.scroll-reveal.is-visible{opacity:1;transform:none;filter:none;transition:none}}
