:root{--bg: #ffffff;--bg-tint: #f2f6fe;--bg-subtle: #f4f6fa;--ink: #16233a;--ink-soft: #4d5b70;--blue: #2456e0;--blue-strong: #1a41b8;--blue-bright: #4f8df9;--blue-tint: #e8effc;--sky: #0284c7;--violet: #6d28d9;--dark: #101c2e;--line: #d5dae2;--line-soft: #e7eaef;--grid-line: rgba(36, 86, 224, .07);--font-sans: "IBM Plex Sans JP", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace;--w-content: 1080px;--w-narrow: 720px}*{box-sizing:border-box}html{font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}body{margin:0;font-size:16px;line-height:1.9}a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--blue-strong)}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}h1,h2,h3{line-height:1.4;letter-spacing:.01em;margin:0}.wrap{max-width:var(--w-content);margin-inline:auto;padding-inline:24px}.wrap-narrow{max-width:var(--w-narrow);margin-inline:auto;padding-inline:24px}.eyebrow{display:block;font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}.site-header{border-bottom:1px solid var(--line-soft);background:var(--bg);position:sticky;top:0;z-index:50}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{display:flex;align-items:baseline;text-decoration:none;color:var(--ink)}.brand-mark{font-family:var(--font-mono);font-weight:600;font-size:20px;letter-spacing:.08em;color:var(--ink);white-space:nowrap}.brand-mark .hub{color:var(--blue)}.site-nav{display:flex;gap:32px;align-items:center}.site-nav a{font-size:14px;text-decoration:none;color:var(--ink-soft);white-space:nowrap}.site-nav a:hover{color:var(--blue)}.site-nav a.nav-cta{font-size:14px;font-weight:500;background:var(--blue);border:1px solid var(--blue);padding:8px 20px;color:#fff}.site-nav a.nav-cta:hover{background:var(--blue-strong);border-color:var(--blue-strong);color:#fff}.hero,.page-hero{background:radial-gradient(ellipse 900px 480px at 88% 0%,rgba(79,141,249,.16),transparent 70%),linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:auto,32px 32px,32px 32px}.hero{padding:112px 0 96px;border-bottom:1px solid var(--line-soft);overflow:hidden}.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.hero h1{font-size:clamp(34px,4.5vw,52px);font-weight:700;line-height:1.3}.hero h1 .accent{color:var(--blue)}.hero .lead{margin-top:32px;font-size:clamp(16px,2vw,18px);line-height:1.9;color:var(--ink-soft);max-width:40em}.hero-ctas{margin-top:48px;display:flex;gap:16px;flex-wrap:wrap}.frame-visual{position:relative;isolation:isolate}.frame-visual img{display:block;width:100%;height:100%;max-height:460px;object-fit:cover}.frame-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(36,86,224,.22),transparent 65%);pointer-events:none}.frame-visual:after{content:"";position:absolute;inset:20px -20px -20px 20px;border:2px solid var(--blue);z-index:-1}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.hero h1{animation:rise .7s cubic-bezier(.2,.7,.3,1) both}.hero .lead{animation:rise .7s cubic-bezier(.2,.7,.3,1) .12s both}.hero .hero-ctas{animation:rise .7s cubic-bezier(.2,.7,.3,1) .24s both}.hero .frame-visual{animation:rise .9s cubic-bezier(.2,.7,.3,1) .18s both}html.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1)}html.js .reveal.in{opacity:1;transform:none}html.js .reveal-delay-1{transition-delay:.1s}html.js .reveal-delay-2{transition-delay:.2s}.btn{display:inline-block;text-decoration:none;font-size:15px;font-weight:500;padding:14px 32px;white-space:nowrap}.btn-primary{background:var(--blue);color:#fff;border:1px solid var(--blue)}.btn-primary:hover{background:var(--blue-strong);border-color:var(--blue-strong);color:#fff}.btn-ghost{border:1px solid var(--blue);color:var(--blue);background:var(--bg)}.btn-ghost:hover{background:var(--blue-tint);color:var(--blue-strong)}.btn-inverse{border:1px solid #ffffff;color:#fff}.btn-inverse:hover{background:#fff;color:var(--blue-strong)}.section{padding:96px 0}.section-tint{background:var(--bg-tint)}.section-head{margin-bottom:48px}.section-head .eyebrow{margin-bottom:16px}.section-head h2{font-size:clamp(24px,3vw,32px);font-weight:700}.product-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.product-card{--card-accent: var(--blue);border:1px solid var(--line);border-top:3px solid var(--card-accent);background:#fff;padding:32px;display:flex;flex-direction:column;gap:16px;text-decoration:none;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.product-card:hover{border-color:var(--card-accent);box-shadow:0 8px 24px #16233a14;transform:translateY(-2px);color:var(--ink)}.card-qmt{--card-accent: var(--blue)}.card-pid{--card-accent: var(--sky)}.card-doc{--card-accent: var(--violet)}.product-card .eyebrow{color:var(--card-accent)}.product-card h3{font-size:20px;font-weight:700}.product-card p{margin:0;font-size:14px;color:var(--ink-soft);line-height:1.8}.product-card .status{margin-top:auto;padding-top:16px;border-top:1px solid var(--line-soft);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--ink-soft)}.product-card .card-more{font-size:14px;font-weight:500;color:var(--card-accent);transition:transform .15s ease}.product-card:hover .card-more{transform:translate(4px)}.cta-band{background:linear-gradient(115deg,#0d1728f0,#1a41b8db 55%,#2456e0b8),url(/images/cta-plant-night.jpg) center / cover no-repeat;color:#ffffffe0}.cta-band h2{color:#fff}.cta-band .eyebrow{color:#ffffffbf}.cta-band p{max-width:40em}.cta-band strong{color:#fff}.cta-band a:not(.btn){color:#fff}.cta-band .hero-ctas{margin-top:40px}.page-hero{padding:96px 0 64px;border-bottom:1px solid var(--line-soft);overflow:hidden}.page-hero .eyebrow{margin-bottom:16px}.page-hero h1{font-size:clamp(28px,4vw,42px);font-weight:700}.page-hero .lead{margin-top:24px;color:var(--ink-soft);max-width:40em}.page-hero .wrap-visual{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}.page-hero .frame-visual img{max-height:340px}.page-hero h1{animation:rise .7s cubic-bezier(.2,.7,.3,1) both}.page-hero .lead{animation:rise .7s cubic-bezier(.2,.7,.3,1) .12s both}.page-hero .frame-visual{animation:rise .9s cubic-bezier(.2,.7,.3,1) .18s both}.feature-list{list-style:none;padding:0;margin:0;display:grid;gap:0 48px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.feature-list li{border-top:1px solid var(--line);padding:24px 0 24px 20px;position:relative;font-size:15px}.feature-list li:before{content:"";position:absolute;left:0;top:33px;width:8px;height:8px;background:var(--blue)}.feature-list li strong{display:block;margin-bottom:4px;font-size:16px}.feature-list li span{color:var(--ink-soft);font-size:14px;line-height:1.8}.note-box{border:1px solid var(--blue-tint);border-left:3px solid var(--blue);background:var(--bg-tint);padding:24px 32px;font-size:14px;color:var(--ink-soft)}.section:has(.note-box){padding-block:48px 96px}.prose h2{font-size:20px;margin:48px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--line-soft)}.prose p,.prose li{font-size:15px;color:var(--ink-soft)}.prose table{border-collapse:collapse;width:100%;font-size:15px}.prose th,.prose td{border:1px solid var(--line-soft);padding:12px 16px;text-align:left;vertical-align:top}.prose th{background:var(--bg-tint);white-space:nowrap;font-weight:500}.site-footer{border-top:1px solid var(--line);background:var(--bg-subtle);padding:48px 0 64px;font-size:13px;color:var(--ink-soft)}.site-footer .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:baseline}.footer-nav{display:flex;gap:24px;flex-wrap:wrap}.footer-nav a{color:var(--ink-soft);text-decoration:none;white-space:nowrap}.footer-nav a:hover{color:var(--blue)}.footer-brand{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink)}@media(max-width:900px){.hero .wrap{grid-template-columns:1fr;gap:48px}.page-hero .wrap-visual{grid-template-columns:1fr;gap:40px}.frame-visual:after{inset:12px -12px -12px 12px}.frame-visual img{max-height:320px}}@media(max-width:640px){.hero,.section{padding:64px 0}.page-hero{padding:64px 0 48px}.site-nav{gap:16px}.site-nav a.nav-plain{display:none}}
