:root{--bg: #FAF8F2;--surface: #FFFFFF;--surface-2: #F2EDDF;--border: #E4DCC6;--border-2: #C9C0A6;--text: #1A1612;--text-muted: #6B6358;--text-dim: #9D9484;--accent: #1E4F8F;--accent-ink: #FAF8F2;--accent-soft: rgba(30, 79, 143, .1);--grid-line: rgba(26, 22, 18, .04);--maxw: 1280px;--pad: 48px;--f-display: "Zen Kaku Gothic New", "Noto Sans JP", system-ui, sans-serif;--f-body: "Noto Sans JP", system-ui, sans-serif;--f-num: "Anton", "Zen Kaku Gothic New", sans-serif;--f-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);font-family:var(--f-body);font-weight:500;-webkit-font-smoothing:antialiased;line-height:1.6}body{overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}@media(max-width:880px){:root{--pad: 24px}}.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;font-family:var(--f-display);font-weight:900;font-size:15px;letter-spacing:.02em;line-height:1;transition:transform .12s ease,background .12s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#faf8f2}.btn-primary:hover{background:#2660a8}.btn-ghost{color:var(--text);border:1.5px solid var(--border-2)}.btn-ghost:hover{border-color:var(--text)}.btn-dark{background:var(--bg);color:var(--text)}.btn-dark:hover{background:#fff}.btn-sm{padding:10px 16px;font-size:13px}.btn .arr{font-family:var(--f-num);font-size:18px;line-height:1;transform:translateY(-1px)}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--accent)}.eyebrow:before{content:"";width:24px;height:2px;background:var(--accent)}.hazard{height:1px;background:var(--border-2)}.hazard-thin{height:1px;background:var(--border)}.bg-grid{position:absolute;inset:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:64px 64px;pointer-events:none;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%)}.site-header{position:sticky;top:0;z-index:50;background:#faf8f2d9;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--border)}.site-header .inner{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:900;font-size:18px;letter-spacing:-.01em}.logo-mark{width:28px;height:28px;background:var(--accent);display:grid;place-items:center;color:#faf8f2;font-family:var(--f-num);font-size:20px;line-height:1;transform:skew(-8deg)}.logo-mark span{display:block;transform:skew(8deg)}.logo .slash{color:var(--text-dim);font-weight:500}.logo .core{color:var(--accent)}.nav{display:flex;align-items:center;gap:28px;font-size:13px;color:var(--text-muted);font-weight:500}.nav a:hover{color:var(--text)}.nav-cta{display:flex;align-items:center;gap:10px}@media(max-width:720px){.nav{display:none}}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border)}.hero-a{padding:96px 0}.hero-a .bg-grid{opacity:.7}.hero-a .container{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}.hero-a .lede{display:flex;flex-direction:column;gap:28px}.hero-a .stamp{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;padding:6px 12px 6px 6px;border:1px solid var(--border-2);border-radius:999px;font-family:var(--f-mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.hero-a .stamp .dot{width:18px;height:18px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:10px;font-weight:900}.hero-a h1{font-family:var(--f-display);font-weight:900;font-size:clamp(44px,7vw,96px);line-height:1;letter-spacing:-.025em;color:var(--text)}.hero-a h1 .accent{color:var(--accent)}.hero-a h1 .stk{display:inline-block;padding:0 .08em;color:var(--accent);border-bottom:6px solid var(--accent);line-height:1}.hero-a h1 .stk span{display:inline-block}.hero-a .sub{font-size:17px;line-height:1.75;color:var(--text-muted);max-width:540px}.hero-a .sub strong{color:var(--text);font-weight:700}.hero-a .ctas{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px}.hero-a .micro{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--text-dim);font-family:var(--f-mono);letter-spacing:.05em}.hero-a .micro span{display:flex;align-items:center;gap:6px}.hero-a .micro span:before{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%}.hero-a .stage{position:relative;display:grid;place-items:center;min-height:560px}.hero-a .stage-tag{position:absolute;top:0;left:-12px;font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;color:var(--text-dim);text-transform:uppercase}.hero-a .stage-tag:before{content:"◆";color:var(--accent);margin-right:8px;font-size:9px}.hero-a .hazard-corner{position:absolute;top:36px;right:0;width:120px;height:1px;background:var(--accent);opacity:.5}.hero-a .hazard-corner:before{content:"";position:absolute;left:0;top:-3px;width:7px;height:7px;background:var(--accent);border-radius:50%}.stack{position:relative;width:480px;max-width:100%;display:flex;flex-direction:column;gap:14px;perspective:1400px}.stack-row{position:relative;border:1.5px solid var(--border-2);background:var(--surface-2);padding:18px 20px;display:flex;align-items:center;gap:16px;transform-style:preserve-3d;transform:rotateX(34deg) rotateY(-22deg) rotate(8deg);transform-origin:50% 50%;box-shadow:0 12px 30px -10px #0009;transition:transform .25s}.stack-row:hover{transform:rotateX(34deg) rotateY(-22deg) rotate(8deg) translateZ(20px)}.stack-row .lyr{font-family:var(--f-mono);font-size:10px;letter-spacing:.15em;color:var(--text-dim);text-transform:uppercase;width:42px;flex-shrink:0;font-weight:700}.stack-row .ttl{font-family:var(--f-display);font-weight:900;font-size:17px;color:var(--text);flex:1}.stack-row .ttl small{display:block;font-family:var(--f-mono);font-size:10px;color:var(--text-muted);font-weight:500;letter-spacing:.05em;margin-top:3px}.stack-row .badge{font-family:var(--f-mono);font-size:9px;font-weight:700;letter-spacing:.1em;padding:4px 8px;border:1px solid var(--border-2);color:var(--text-muted)}.stack-row.app{background:var(--bg);border-color:var(--border)}.stack-row.app.featured{background:var(--surface);border-color:var(--accent)}.stack-row.app.featured .lyr{color:var(--accent)}.stack-row.app.featured .badge{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.stack-row.core{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.stack-row.core .lyr{color:var(--accent)}.stack-row.core .badge{border-color:var(--accent);color:var(--accent-ink);background:var(--accent)}@media(max-width:980px){.hero-a .container{grid-template-columns:1fr;gap:48px}.hero-a .stage{min-height:auto;padding:24px 0}.stack-row{transform:none}.stack-row:hover{transform:translateZ(0)}}.stats{background:var(--surface);border-bottom:1px solid var(--border)}.stats .container{display:grid;grid-template-columns:repeat(4,1fr);padding-top:48px;padding-bottom:48px;gap:32px}.stat{display:flex;flex-direction:column;gap:6px;border-left:2px solid var(--accent);padding-left:20px}.stat .num{font-family:var(--f-num);font-size:54px;line-height:.95;color:var(--text);letter-spacing:0}.stat .num .u{font-family:var(--f-display);font-size:.45em;font-weight:900;margin-left:4px;vertical-align:.1em;color:var(--accent)}.stat .lbl{font-size:13px;color:var(--text-muted);font-weight:500}@media(max-width:780px){.stats .container{grid-template-columns:repeat(2,1fr)}}.caps{padding:120px 0 140px;position:relative;background:var(--bg);overflow:hidden}.caps .bg-grid{opacity:.5}.caps .container{position:relative}.caps-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:48px;margin-bottom:80px;padding-bottom:32px;border-bottom:1px solid var(--border)}.caps-head h2{font-family:var(--f-display);font-weight:900;font-size:clamp(40px,5.5vw,72px);line-height:1;letter-spacing:-.02em}.caps-head h2 .accent{color:var(--accent)}.caps-head .right{font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;color:var(--text-muted);text-transform:uppercase;text-align:right}.caps-head .eyebrow{margin-bottom:20px}.caps-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);background:var(--surface)}.cap{padding:40px 36px 44px;border-right:1px solid var(--border);position:relative;display:flex;flex-direction:column;gap:18px;background:var(--surface);transition:background .25s}.cap:last-child{border-right:none}.cap:hover{background:var(--surface-2)}.cap-num{display:flex;align-items:center;gap:14px}.cap-num .n{font-family:var(--f-num);font-size:72px;line-height:.85;color:var(--accent)}.cap-num .of{font-family:var(--f-mono);font-size:11px;color:var(--text-dim);letter-spacing:.15em;text-transform:uppercase}.cap h3{font-family:var(--f-display);font-weight:900;font-size:28px;line-height:1.2;letter-spacing:-.01em}.cap p{font-size:14.5px;color:var(--text-muted);line-height:1.75}.cap .visual{margin-top:8px;height:160px;background:var(--bg);border:1px solid var(--border);position:relative;overflow:hidden;display:flex;align-items:flex-end;flex-direction:column;justify-content:flex-end;padding:14px}.cap .features{display:flex;flex-direction:column;gap:6px;margin-top:4px;font-family:var(--f-mono);font-size:11.5px;color:var(--text);letter-spacing:.02em}.cap .features li{display:flex;gap:10px;align-items:flex-start;list-style:none}.cap .features li:before{content:"+";color:var(--accent);font-weight:700;font-family:var(--f-num)}.cv-code{padding:12px 14px;background:#0a0a0a;font-family:var(--f-mono);font-size:9.5px;line-height:1.7;color:#888;display:flex;flex-direction:column;gap:0;height:100%;width:100%}.cv-code .cm{color:#444}.cv-code .key{color:#7fdbca}.cv-code .val{color:#faf8f2}.cv-code .acc{color:#6fa8ff}.cv-preview{display:flex;flex-direction:column;gap:4px;padding:10px;background:var(--bg);width:100%}.cv-preview .fr{height:24px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;gap:6px;padding:0 8px}.cv-preview .fr .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.cv-preview .fr .bar{flex:1;height:4px;background:var(--border);border-radius:2px}.cv-preview .fr .bar.accent{background:var(--accent);width:40%;flex:none}.cv-preview .fr-hero{height:48px;background:var(--accent);opacity:.8}.cv-flow{display:flex;flex-direction:column;gap:6px;padding:10px 14px;width:100%}.cv-flow .step{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:9px;color:var(--text-muted);letter-spacing:.08em}.cv-flow .step .num{width:18px;height:18px;border-radius:50%;background:var(--accent);color:#faf8f2;display:grid;place-items:center;font-size:9px;font-weight:700;flex-shrink:0}.cv-flow .step .num.done{background:var(--border-2)}.cv-flow .step .line{flex:1;height:1px;background:var(--border)}@media(max-width:880px){.caps-grid{grid-template-columns:1fr}.cap{border-right:none;border-bottom:1px solid var(--border)}.cap:last-child{border-bottom:none}.caps-head{grid-template-columns:1fr}}.verticals{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:120px 0 140px;position:relative;overflow:hidden}.verticals .container{position:relative}.vt-head{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end;margin-bottom:64px;padding-bottom:32px;border-bottom:1px solid var(--border)}.vt-head h2{font-family:var(--f-display);font-weight:900;font-size:clamp(40px,5.5vw,72px);line-height:1;letter-spacing:-.02em}.vt-head h2 .accent{color:var(--accent)}.vt-head h2 .stk{display:inline-block;padding:0 .08em;color:var(--accent);border-bottom:6px solid var(--accent);line-height:1}.vt-head h2 .stk span{display:inline-block}.vt-head .right{font-size:14.5px;color:var(--text-muted);line-height:1.75;max-width:380px}.vt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}.vt{background:var(--surface);padding:32px 28px 36px;display:flex;flex-direction:column;gap:18px;position:relative;transition:background .2s;min-height:260px}.vt:hover{background:var(--surface-2)}.vt:hover .vt-arr{color:var(--accent);transform:translate(4px)}.vt-tag{display:flex;align-items:center;justify-content:space-between;font-family:var(--f-mono);font-size:11px;letter-spacing:.15em;color:var(--text-dim);text-transform:uppercase}.vt-tag .id{display:flex;align-items:center;gap:8px}.vt-tag .id .sq{width:10px;height:10px;background:var(--accent);border-radius:50%}.vt h3{font-family:var(--f-display);font-weight:900;font-size:26px;line-height:1.1;letter-spacing:-.01em;color:var(--text)}.vt h3 .for{display:block;font-size:11px;font-family:var(--f-mono);font-weight:700;color:var(--accent);letter-spacing:.18em;margin-bottom:8px;text-transform:uppercase}.vt p{font-size:13.5px;color:var(--text-muted);line-height:1.7;flex:1}.vt-foot{display:flex;align-items:center;justify-content:space-between;font-family:var(--f-mono);font-size:11px;letter-spacing:.05em;color:var(--text-muted);padding-top:12px;border-top:1px solid var(--border)}.vt-foot .role{color:var(--text-dim);text-transform:uppercase;letter-spacing:.12em;font-size:10px}.vt-foot .vt-arr{font-family:var(--f-num);font-size:18px;color:var(--text-muted);transition:all .2s}@media(max-width:880px){.vt-head,.vt-grid{grid-template-columns:1fr}}.faq{padding:120px 0 140px;border-top:1px solid var(--border);background:var(--bg)}.faq .container{display:grid;grid-template-columns:.9fr 1.4fr;gap:80px}.faq-side h2{font-family:var(--f-display);font-weight:900;font-size:clamp(40px,5vw,68px);line-height:1;letter-spacing:-.02em;margin-bottom:24px}.faq-side h2 .accent{color:var(--accent)}.faq-side p{color:var(--text-muted);font-size:15px;line-height:1.75;max-width:380px;margin-bottom:28px}.faq-side .contact-card{border:1px solid var(--border);padding:24px;background:var(--surface);display:flex;flex-direction:column;gap:14px}.faq-side .contact-card .lbl{font-family:var(--f-mono);font-size:11px;letter-spacing:.15em;color:var(--accent);text-transform:uppercase}.faq-side .contact-card .email{font-family:var(--f-mono);font-size:13px;color:var(--text);font-weight:700;letter-spacing:.03em}.faq-side .contact-card .meta{font-size:12px;color:var(--text-muted);font-family:var(--f-mono);letter-spacing:.05em}.faq-list{display:flex;flex-direction:column;border-top:1px solid var(--border-2)}.faq-item{border-bottom:1px solid var(--border-2)}.faq-item summary{display:flex;align-items:flex-start;gap:16px;padding:22px 0;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item .q-num{font-family:var(--f-mono);font-size:11px;font-weight:700;letter-spacing:.15em;color:var(--accent);flex-shrink:0;padding-top:2px}.faq-item .q-text{flex:1;font-size:15px;font-weight:700;line-height:1.5;color:var(--text)}.faq-item .q-toggle{font-family:var(--f-num);font-size:20px;color:var(--text-dim);flex-shrink:0;transition:transform .2s}.faq-item[open] .q-toggle{transform:rotate(45deg);color:var(--accent)}.faq-item .ans{padding:0 0 22px 44px;font-size:14.5px;color:var(--text-muted);line-height:1.8}@media(max-width:880px){.faq .container{grid-template-columns:1fr}}.pricing{padding:120px 0 140px;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.pricing-head{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end;margin-bottom:64px;padding-bottom:32px;border-bottom:1px solid var(--border)}.pricing-head h2{font-family:var(--f-display);font-weight:900;font-size:clamp(40px,5.5vw,72px);line-height:1;letter-spacing:-.02em}.pricing-head h2 .accent{color:var(--accent)}.pricing-head .right{font-size:14.5px;color:var(--text-muted);line-height:1.75;max-width:320px}.pricing-head .eyebrow{margin-bottom:20px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-bottom:2px}.plan{background:var(--surface);padding:40px 36px 44px;display:flex;flex-direction:column;gap:20px}.plan-featured{background:var(--text)}.plan-id{display:flex;align-items:baseline;gap:14px}.plan-letter{font-family:var(--f-num);font-size:72px;line-height:.85;color:var(--accent)}.plan-featured .plan-letter{color:var(--bg);opacity:.35}.plan-tag{font-family:var(--f-mono);font-size:11px;letter-spacing:.15em;color:var(--text-dim);text-transform:uppercase}.plan-featured .plan-tag{color:#faf8f280}.plan-price{display:flex;align-items:baseline;gap:6px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0}.plan-featured .plan-price{border-color:#ffffff1f}.plan-price .amount{font-family:var(--f-num);font-size:52px;line-height:1;color:var(--text);letter-spacing:-.02em}.plan-featured .plan-price .amount{color:var(--bg)}.plan-price .unit{font-family:var(--f-mono);font-size:12px;color:var(--text-muted);letter-spacing:.05em}.plan-featured .plan-price .unit{color:#faf8f280}.plan-desc{font-size:14px;color:var(--text-muted);line-height:1.75}.plan-featured .plan-desc{color:#faf8f2a6}.plan-items{display:flex;flex-direction:column;gap:8px;margin-top:auto}.plan-items li{list-style:none;display:flex;gap:10px;font-family:var(--f-mono);font-size:12px;color:var(--text-muted);line-height:1.5}.plan-items li:before{content:"+";color:var(--accent);font-weight:700;flex-shrink:0}.plan-featured .plan-items li{color:#faf8f299}.plan-featured .plan-items li:before{color:#faf8f266}.pricing-cond{background:var(--bg);border:1px solid var(--border);border-top:none;display:grid;grid-template-columns:1fr 1fr}.cond-item{padding:32px 36px}.cond-item:first-child{border-right:1px solid var(--border)}.cond-label{font-family:var(--f-mono);font-size:11px;letter-spacing:.15em;color:var(--accent);text-transform:uppercase;display:block;margin-bottom:16px}.cond-item ul{display:flex;flex-direction:column;gap:8px}.cond-item li{list-style:none;display:flex;gap:10px;font-size:13px;color:var(--text-muted);line-height:1.6}.cond-item li:before{content:"—";color:var(--text-dim);flex-shrink:0}@media(max-width:880px){.pricing-head,.pricing-grid,.pricing-cond{grid-template-columns:1fr}.cond-item:first-child{border-right:none;border-bottom:1px solid var(--border)}}.final-cta{background:var(--text);color:var(--bg);padding:96px 0 80px;position:relative;overflow:hidden}.final-cta .bg-grid{opacity:.04}.final-cta .container{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.final-cta h2{font-family:var(--f-display);font-weight:900;font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.02em}.final-cta h2 .stk{display:inline-block;padding:0 .06em;border-bottom:5px solid var(--accent);line-height:1;color:var(--accent)}.final-cta h2 .stk span{display:inline-block}.final-cta .right{display:flex;flex-direction:column;gap:24px}.final-cta .sub{font-size:16px;color:var(--text-muted);line-height:1.75}.final-cta .micro{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;color:var(--text-dim)}.contact-form-wrap{background:var(--surface);padding:48px}.contact-form-wrap h3{font-family:var(--f-display);font-weight:900;font-size:22px;margin-bottom:28px;color:var(--text)}.form-grid{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-family:var(--f-mono);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.form-group input,.form-group textarea{background:var(--bg);border:1.5px solid var(--border-2);color:var(--text);padding:12px 14px;font-family:var(--f-body);font-size:14px;font-weight:500;outline:none;transition:border-color .15s;resize:none}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-dim)}.form-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;background:var(--accent);color:#faf8f2;font-family:var(--f-display);font-weight:900;font-size:16px;letter-spacing:.02em;cursor:pointer;transition:background .15s;border:none}.form-submit:hover{background:#2660a8}.form-submit:disabled{opacity:.5;cursor:not-allowed}.form-status{text-align:center;font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;padding:10px 0}.form-status.ok{color:#1a7a4a}.form-status.err{color:#b91c1c}@media(max-width:980px){.final-cta .container{grid-template-columns:1fr}}.footer{background:#0f0f12;color:var(--bg);padding:56px 0 0}.footer .container{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;padding-bottom:40px}.footer .l p{font-size:13px;color:var(--text-dim);line-height:1.75;max-width:340px;margin-top:16px}.footer .logo .logo-mark{background:var(--accent)}.footer nav{display:flex;flex-direction:column;gap:14px;font-family:var(--f-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim)}.footer nav a:hover{color:var(--bg)}.footer .bottom{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid #1F1F23;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;color:var(--text-dim)}@media(max-width:720px){.footer .container{grid-template-columns:1fr}}
