:root { color-scheme:dark; font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif; background:#090b17; color:#edf1ff; }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; background:radial-gradient(circle at 78% -3%,rgba(103,46,226,.30),transparent 33rem),radial-gradient(circle at 0 18%,rgba(20,74,143,.20),transparent 26rem),#090b17; line-height:1.8; }
main { max-width:960px; margin:0 auto; padding:clamp(36px,7vw,76px) 24px 80px; }
.language-switcher { position:fixed; z-index:20; top:16px; right:18px; display:flex; gap:4px; padding:4px; border:1px solid rgba(169,154,255,.48); border-radius:999px; background:rgba(9,11,23,.86); box-shadow:0 7px 22px rgba(0,0,0,.28); backdrop-filter:blur(10px); font-size:.78rem; line-height:1; }
.language-switcher a { padding:7px 9px; border-radius:999px; color:#cfd2e6; text-decoration:none; }
.language-switcher a[aria-current="true"] { background:#7c5ce0; color:#fff; font-weight:750; }
header { border-bottom:1px solid #343855; padding-bottom:24px; margin-bottom:32px; }
h1,h2,h3,p { margin-top:0; }
h1 { margin:0; font-size:clamp(1.65rem,4vw,2.35rem); letter-spacing:.02em; line-height:1.25; }
h2 { color:#f3f5ff; margin:42px 0 16px; font-size:clamp(1.25rem,3.1vw,1.82rem); line-height:1.45; }
h3 { margin-top:28px; font-size:1.05rem; }
p,li,td,th,dd,dt { font-size:.98rem; }
a { color:#a99aff; }
.meta,.note { color:#aeb6d0; }
.card { padding:18px 20px; border:1px solid #3b405d; border-radius:14px; background:#15192c; }
.notice { border-left:3px solid #9b7bff; padding-left:14px; color:#d2d6ec; }
table { width:100%; border-collapse:collapse; background:#15192c; border:1px solid #3b405d; border-radius:12px; overflow:hidden; }
th,td { padding:12px; border-bottom:1px solid #343855; text-align:left; vertical-align:top; }
th { color:#d1ccff; }
footer { margin-top:52px; color:#aeb6d0; font-size:.86rem; }

.site-hero { padding-bottom:clamp(35px,6vw,60px); border-bottom:1px solid rgba(160,130,255,.35); }
.hero-content { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(250px,.75fr); align-items:center; gap:clamp(28px,6vw,72px); }
.brand-row { display:flex; align-items:center; gap:15px; }
.brand-icon { width:58px; height:58px; box-shadow:0 10px 24px rgba(0,0,0,.44); }
.eyebrow,.section-label { margin:0 0 3px; color:#b7a7ff; font-size:.7rem; font-weight:750; letter-spacing:.13em; }
.hero-copy { max-width:710px; margin-top:clamp(28px,5vw,49px); }
.hero-kicker { margin-bottom:9px; color:#fff; font-weight:760; font-size:clamp(1.7rem,4.5vw,2.65rem); line-height:1.28; letter-spacing:-.02em; }
.hero-copy > p:last-child { margin-bottom:0; color:#c7cbe1; font-size:clamp(1rem,2.2vw,1.17rem); }
.hero-visual { position:relative; margin:0; isolation:isolate; }
.hero-visual::before { content:""; position:absolute; z-index:-1; inset:10% 2% 5%; border-radius:50%; background:rgba(112,62,232,.34); filter:blur(28px); }
.hero-visual img { display:block; width:100%; height:auto; border-radius:24px; box-shadow:0 20px 48px rgba(0,0,0,.42); }
.hero-visual figcaption,.app-shot figcaption { margin-top:9px; color:#aeb6d0; font-size:.78rem; text-align:center; }
.home-section { margin-top:clamp(50px,8vw,82px); }
.home-section h2 { margin-top:0; }
.section-label { margin-bottom:8px; }
.service-summary > p { max-width:720px; color:#cbd0e3; }
.feature-grid,.plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:24px; }
.feature-card,.plan-card { min-height:185px; padding:22px; border:1px solid rgba(122,130,176,.43); border-radius:18px; background:linear-gradient(145deg,rgba(29,31,56,.95),rgba(17,19,35,.94)); box-shadow:0 12px 30px rgba(0,0,0,.16); }
.feature-card > span { display:block; margin-bottom:16px; color:#ad98ff; font-size:.72rem; font-weight:750; letter-spacing:.1em; }
.feature-card h3 { margin:0 0 7px; }
.feature-card p,.plan-detail { margin:0; color:#b9bfd5; font-size:.9rem; line-height:1.65; }
.app-shot { margin:30px 0 0; overflow:hidden; border:1px solid rgba(122,130,176,.5); border-radius:18px; background:#14172a; box-shadow:0 18px 42px rgba(0,0,0,.2); }
.app-shot img { display:block; width:100%; height:auto; }
.app-shot figcaption { margin:0; padding:10px 13px; text-align:left; }
.plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.plan-card { min-height:190px; }
.plan-card-pro { border-color:rgba(161,105,255,.86); background:radial-gradient(circle at 93% 7%,rgba(122,53,226,.56),transparent 42%),linear-gradient(145deg,#2a2158,#191a42); }
.plan-name { margin-bottom:18px; color:#d4ceff; font-weight:740; letter-spacing:.04em; }
.plan-value { margin-bottom:17px; color:#fff; font-weight:780; font-size:clamp(1.64rem,3.7vw,2.16rem); line-height:1.1; }
.plan-value small { color:#d7d8ec; font-size:.82rem; font-weight:500; }
.plan-note { margin:16px 0 0; color:#aeb6d0; font-size:.88rem; }
.info-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:23px 0 24px; }
.info-list div { padding:17px 18px; border:1px solid rgba(122,130,176,.4); border-radius:14px; background:rgba(21,25,44,.77); }
.info-list dt { color:#c5b9ff; font-size:.76rem; font-weight:720; letter-spacing:.07em; }
.info-list dd { margin:5px 0 0; color:#d8dbea; font-size:.91rem; line-height:1.65; }
.step-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; padding:0; margin:24px 0 0; list-style:none; }
.step-list li { display:flex; gap:12px; padding:18px; border:1px solid rgba(122,130,176,.42); border-radius:16px; background:rgba(21,25,44,.75); }
.step-list strong { color:#ff807d; font-size:.75rem; letter-spacing:.08em; }
.step-list h3 { margin:0 0 4px; font-size:.96rem; }
.step-list p { margin:0; color:#b9bfd5; font-size:.87rem; line-height:1.55; }
.faq details { margin-top:10px; border:1px solid rgba(122,130,176,.42); border-radius:13px; background:rgba(21,25,44,.68); }
.faq summary { cursor:pointer; padding:14px 17px; color:#f0efff; font-weight:650; }
.faq summary::marker { color:#aa94ff; }
.faq details p { margin:0; padding:0 17px 15px; color:#c0c5d8; }
.legal-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:clamp(48px,7vw,74px); padding-top:25px; border-top:1px solid rgba(122,130,176,.38); }
.legal-links a { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 16px; border:1px solid rgba(122,130,176,.45); border-radius:12px; background:rgba(21,25,44,.68); color:#eeeefe; text-decoration:none; transition:background .16s ease,border-color .16s ease,transform .16s ease; }
.legal-links a:hover,.legal-links a:focus-visible { border-color:#af96ff; background:rgba(61,45,110,.66); outline:none; transform:translateY(-1px); }
.legal-links span { color:#ff817d; }
@media (max-width:720px) { .hero-content { grid-template-columns:1fr; } .hero-visual { max-width:430px; margin:0 auto; } .step-list { grid-template-columns:1fr; } }
@media (max-width:640px) { main { padding:36px 18px 64px; } p,li,td,th,dd,dt { font-size:.92rem; } .feature-grid,.plan-grid,.info-list,.legal-links { grid-template-columns:1fr; } .feature-card,.plan-card { min-height:0; } .brand-icon { width:50px; height:50px; } }
@media (prefers-reduced-motion:reduce) { * { transition:none !important; } }
