:root{--bg: #0d0f12;--bg-soft: #14171c;--surface: #181c22;--surface-2: #1d222a;--border: #262b33;--text: #e8eaed;--text-dim: #9aa1ac;--accent: #7c9cff;--accent-2: #5be9c8;--accent-soft: rgba(124, 156, 255, .14);--error: #ff8f8f;--gold: #e8c46a;--gold-soft: rgba(232, 196, 106, .35);--line: #06c755;--line-soft: rgba(6, 199, 85, .12);--grad: linear-gradient(120deg, var(--accent), var(--accent-2));--radius: 14px;--maxw: 1040px;--font: "Inter", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", "Noto Sans JP", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:24px}section{padding-block:96px;border-top:1px solid var(--border)}.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-block-end:18px}h2{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700;letter-spacing:-.02em;margin-block-end:16px}.section-lead{color:var(--text-dim);max-width:60ch;margin-block-end:40px}.text-dim{color:var(--text-dim)}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:600;font-size:.95rem;cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent);color:#0d0f12}.btn-ghost{border:1px solid var(--border);color:var(--text)}.btn-ghost:hover{background:var(--surface);border-color:var(--accent)}.tag{font-size:.78rem;padding:4px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.anim .reveal{opacity:0}.anim section h2{opacity:0}.anim .flow-step,.intro .hero .brand-eyebrow,.intro .hero h1,.intro .hero .subtitle,.intro .hero .actions,.intro .hero .tech,.intro .hero .intro-card{opacity:0}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}.loader{display:none}.intro .loader{display:block;position:fixed;inset:0;z-index:100;overflow:hidden;background:radial-gradient(circle at 50% 50%,#0b1226,#060810 55%,#04050a)}.intro-scene{position:absolute;inset:0}.intro-grid{position:absolute;inset:-25%;background-image:linear-gradient(rgba(124,156,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(124,156,255,.18) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0%,transparent 62%);mask-image:radial-gradient(circle at 50% 50%,#000 0%,transparent 62%);transform-origin:center}.intro-particles{position:absolute;inset:0}.intro-particles .p{position:absolute;left:50%;top:50%;width:60px;height:2px;margin-top:-1px;border-radius:2px;transform-origin:left center;will-change:transform,opacity}.intro-core{position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:radial-gradient(circle,#fff,#9fc1ff 42%,#9fc1ff00 72%);filter:blur(1px)}.intro-flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,#e7efffd9,#c4d6ff73 45%,#c4d6ff00 75%);opacity:0}.intro-logo{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;align-items:center;gap:14px;opacity:0}.loader-mark-svg{width:clamp(52px,13vw,78px);height:clamp(52px,13vw,78px)}.loader-word{font-size:clamp(1.5rem,5vw,2.3rem);font-weight:700;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}@media(max-width:760px){section{padding-block:64px}.container{padding-inline:18px}.eyebrow,h2{margin-block-end:12px}.section-lead{margin-block-end:28px}.btn{padding:11px 18px;font-size:.9rem;min-height:44px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,.reveal{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
