:root{--bg: #0b1020;--surface: #ffffff;--surface-muted: #f6f7fb;--border: #e5e7eb;--text: #111827;--text-muted: #6b7280;--primary: #6366f1;--primary-dark: #4f46e5;--accent: #a855f7;--radius: 14px;--shadow-sm: 0 1px 2px rgba(17, 24, 39, .04), 0 1px 1px rgba(17, 24, 39, .03);--shadow-md: 0 8px 24px rgba(17, 24, 39, .08);--max-w: 1120px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Sans,Noto Sans JP,Helvetica Neue,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary-dark);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}.site{display:flex;flex-direction:column;min-height:100vh}.site-header{position:sticky;top:0;z-index:50;background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}.brand{display:inline-flex;align-items:baseline;gap:2px;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:-.01em}.brand:hover{text-decoration:none}.brand-mark{font-size:1.15rem;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.brand-tag{font-size:.95rem;color:var(--text-muted);font-weight:500}.site-nav{display:flex;gap:20px;font-size:.92rem}.site-nav a{color:var(--text-muted);font-weight:500}.site-nav a:hover{color:var(--text);text-decoration:none}.site-main{flex:1}.hero{padding:80px 0 56px;background:radial-gradient(1200px 500px at 20% -10%,rgba(99,102,241,.18),transparent 60%),radial-gradient(900px 400px at 100% 10%,rgba(168,85,247,.18),transparent 60%),linear-gradient(180deg,#fafbff,#fff);border-bottom:1px solid var(--border)}.eyebrow{letter-spacing:.18em;font-size:.75rem;font-weight:700;color:var(--primary-dark);margin:0 0 12px;text-transform:uppercase}.hero h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.35;margin:0 0 20px;letter-spacing:-.01em}.hero .lead{font-size:1.05rem;max-width:720px;color:#374151;margin:0 0 28px}.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.section{padding:72px 0}.section-muted{background:var(--surface-muted);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-head{margin-bottom:36px}.section-head h2{font-size:clamp(1.4rem,2.4vw,1.9rem);margin:0 0 8px;letter-spacing:-.01em}.muted{color:var(--text-muted)}.small{font-size:.88rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#d1d5db}.project-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.tag{display:inline-block;font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:999px;letter-spacing:.02em}.tag-live{background:#ecfdf5;color:#047857}.tag-soon{background:#f3f4f6;color:#6b7280}.dot{color:#10b981;font-size:.55rem;line-height:1}.project-card h3{font-size:1.25rem;margin:0 0 4px;letter-spacing:-.01em}.project-subtitle{color:var(--text-muted);font-size:.92rem;margin:0 0 12px}.project-desc{font-size:.95rem;color:#374151;margin:0 0 20px;flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:10px;border:1px solid transparent;font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;transition:transform .1s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;white-space:nowrap}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-sm{padding:9px 16px;font-size:.9rem;align-self:flex-start}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;box-shadow:0 4px 14px #6366f159}.btn-primary:hover{box-shadow:0 6px 20px #6366f173}.btn-ghost{background:#fff;color:var(--text);border-color:var(--border)}.btn-ghost:hover{border-color:#c7cad1;background:#fafbff}.btn.disabled{opacity:.6;cursor:not-allowed}.btn.disabled:hover{transform:none}.cta-block{text-align:center;background:linear-gradient(135deg,#eef2ff,#fdf4ff);border:1px solid var(--border);border-radius:var(--radius);padding:48px 24px}.cta-block h2{margin:0 0 12px;font-size:1.5rem}.cta-block p{margin:0 0 20px}.prose{max-width:780px}.prose h1{font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 20px;letter-spacing:-.01em}.prose h2{font-size:1.2rem;margin:32px 0 10px;letter-spacing:-.01em}.prose p,.prose ul{margin:0 0 16px}.prose ul{padding-left:22px}.prose li{margin-bottom:6px}.prose code{background:#f3f4f6;border:1px solid var(--border);padding:1px 6px;border-radius:6px;font-size:.88em}.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;box-shadow:var(--shadow-sm);margin:20px 0 32px}.contact-label{font-size:.8rem;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.contact-email{font-size:1.2rem;font-weight:600}.site-footer{margin-top:40px;background:#0f172a;color:#cbd5e1;padding:48px 0 24px}.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;margin-bottom:32px}.footer-col h4{color:#fff;font-size:.95rem;margin:0 0 12px}.footer-col ul{list-style:none;padding:0;margin:0}.footer-col li{margin-bottom:8px}.footer-col a{color:#cbd5e1;font-size:.92rem}.footer-col a:hover{color:#fff;text-decoration:none}.footer-col .brand-tag{color:#94a3b8}.copyright{border-top:1px solid #1e293b;padding-top:20px;color:#94a3b8;font-size:.82rem}@media (max-width: 720px){.site-nav{gap:14px;font-size:.85rem}.hero{padding:56px 0 40px}.section{padding:56px 0}.footer-inner{grid-template-columns:1fr;gap:24px}.only-desktop{display:none}}
