/* Minimal, readable defaults (no framework) */
:root{
  --bg:#0b0d10;
  --panel:#11151b;
  --text:#e6e9ef;
  --muted:#a6adbb;
  --border:#222a35;
  --link:#9fd3ff;
  --btn:#ffffff;
  --btn-text:#0b0d10;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}

a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:980px;margin:0 auto;padding:0 18px}
.header{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 0;border-bottom:1px solid var(--border);
  position:sticky;top:0;background:rgba(11,13,16,0.85);backdrop-filter: blur(10px);
}
.brand{display:flex;gap:12px;align-items:center}
.logo{
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(135deg,#6ee7ff,#a78bfa);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;color:#0b0d10;
}
.brand-name{font-weight:800}
.brand-sub{font-size:13px;color:var(--muted)}
.nav{display:flex;gap:14px;align-items:center}
.nav a{color:var(--muted)}
.nav a.btn{color:var(--btn-text)}

.hero{padding:56px 0 32px}
.hero h1{font-size:40px;line-height:1.1;margin:0 0 12px}
.lead{color:var(--muted);font-size:18px;max-width:66ch}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.note{color:var(--muted);font-size:13px}

.section{padding:34px 0;border-top:1px solid var(--border)}
.section h2{margin:0 0 14px;font-size:22px}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:14px;padding:16px
}
.card h3{margin:0 0 8px;font-size:16px}
.card p{margin:0;color:var(--muted)}

.pricing{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.price-box{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:14px;padding:18px
}
.price-box.subtle{opacity:0.95}
.price-title{color:var(--muted);font-size:13px}
.price-value{font-size:32px;font-weight:800;margin:6px 0 10px}
.list{margin:0 0 14px;padding-left:18px;color:var(--muted)}
.list li{margin:6px 0}

.btn{
  display:inline-block;
  background:var(--btn);
  color:var(--btn-text);
  padding:10px 14px;border-radius:12px;
  font-weight:700;
  border:1px solid rgba(255,255,255,0.15);
}
.btn:hover{text-decoration:none;opacity:0.92}
.btn-ghost{
  background:transparent;color:var(--text);
  border:1px solid var(--border);
}
.btn-small{padding:8px 10px;border-radius:10px}

.qa{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px 14px;
  margin:10px 0;
}
.qa summary{cursor:pointer;font-weight:700}
.answer{color:var(--muted);margin-top:10px}

.footer{border-top:1px solid var(--border);padding:22px 0;color:var(--muted);font-size:13px}
.footer-inner{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.footer-links{display:flex;gap:12px}

.page{
  padding:34px 0;
}
.page h1{margin:0 0 10px}
.page p,.page li{color:var(--muted)}

@media (max-width: 860px){
  .grid{grid-template-columns:1fr}
  .pricing{grid-template-columns:1fr}
  .hero h1{font-size:32px}
  .nav{display:none}
}
