/* Home pages (build_site.py). Layout follows Nihonzo's site; privacy pages use style.css. */
:root{
  --bg:#fcfbff;--bg-soft:#f4f0fe;--fg:#1f1a2e;--muted:#625b75;--line:#e5dff5;--card:#fff;
  --brand:#6c4bd8;--brand-strong:#5535bd;--brand-soft:#ece6ff;--on-brand:#fff;--accent:#f0a51e;
  --hero-a:#3f2a8f;--hero-b:#6c4bd8;--hero-fg:#fff;--hero-muted:#e0d8ff;
  --radius:16px;--shadow:0 1px 2px rgba(40,20,90,.06),0 8px 24px rgba(40,20,90,.08);
}
@media (prefers-color-scheme:dark){:root{
  --bg:#13101c;--bg-soft:#1a1626;--fg:#eeeaf8;--muted:#a9a1bd;--line:#302a42;--card:#1d1829;
  --brand:#a993ff;--brand-strong:#c3b4ff;--brand-soft:#2a2342;--on-brand:#19122f;
  --hero-a:#241a4f;--hero-b:#42308f;--hero-fg:#f6f3ff;--hero-muted:#cfc5f4;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);
}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Sans","Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--brand)}a:hover{color:var(--brand-strong)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.r{color:var(--accent)}

.nav{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:20px;height:60px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;color:var(--fg);text-decoration:none}
.logo:hover{color:var(--fg)}
.logo img{display:block;border-radius:9px}
.links{margin-left:auto;display:flex;gap:22px}
.links a{white-space:nowrap;color:var(--muted);text-decoration:none;font-size:15px}.links a:hover{color:var(--brand)}
.langs{display:flex;padding:3px;gap:2px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.langs a{padding:3px 10px;border-radius:7px;color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}
.langs a:hover{color:var(--brand)}
.langs a[aria-current=page]{background:var(--brand);color:var(--on-brand)}
@media (max-width:760px){.links{display:none}.langs{margin-left:auto}}
@media (max-width:380px){.logo span.name{display:none}}

.hero{background:radial-gradient(1200px 500px at 85% -10%,var(--hero-b),transparent 60%),linear-gradient(160deg,var(--hero-a),var(--hero-b));color:var(--hero-fg);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center;padding-top:72px;padding-bottom:72px}
.eyebrow{display:inline-block;padding:4px 12px;border-radius:99px;background:rgba(255,255,255,.14);color:var(--hero-muted);font-size:13px;font-weight:600}
.hero h1{font-size:clamp(34px,5vw,52px);line-height:1.14;margin:18px 0 16px;letter-spacing:-.02em}
.hero h1{text-wrap:balance}
:lang(ja) h1,:lang(ja) h2,:lang(ja) h3{word-break:auto-phrase}
.lead{font-size:19px;color:var(--hero-muted);margin:0 0 26px;max-width:34em}
.btns{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;padding:12px 22px;border-radius:12px;font-weight:600;text-decoration:none;font-size:15px}
.btn.light{background:#fff;color:#3f2a8f}.btn.light:hover{background:#efeaff;color:#3f2a8f}
.btn.ghost{border:1px solid rgba(255,255,255,.4);color:#fff}.btn.ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.btn.outline{border:1px solid var(--brand);color:var(--brand)}.btn.outline:hover{background:var(--brand);color:var(--on-brand)}
.btn.brand{background:var(--brand);color:var(--on-brand)}.btn.brand:hover{background:var(--brand-strong);color:var(--on-brand)}
.soon{margin:16px 0 0;font-size:14px;color:var(--hero-muted)}

.phone{justify-self:center;width:270px;border-radius:40px;padding:10px;background:#000;border:3px solid #48405e;box-shadow:0 30px 60px rgba(10,0,40,.45)}
.phone img{display:block;width:100%;height:auto;border-radius:27px}

section{padding:80px 0}
.alt{background:var(--bg-soft)}
.head{max-width:660px;margin-bottom:44px}
.kicker{color:var(--brand);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.head h2{font-size:clamp(26px,3.5vw,36px);line-height:1.22;margin:8px 0 10px;letter-spacing:-.01em}
.head p{color:var(--muted);margin:0}

.stories{display:grid;gap:80px}
.story{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:center}
.story:nth-child(even) .text{order:2}
.story .phone{width:250px;box-shadow:var(--shadow)}
.label{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.story h3{margin:6px 0 8px;font-size:21px;line-height:1.32}.story p{margin:0;color:var(--muted)}
.pain{padding-left:20px;border-left:3px solid var(--line)}
.fix{margin-top:24px;padding:22px 24px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.fix .label{color:var(--brand)}
.note{margin:32px 0 0;text-align:center;color:var(--muted);font-size:13px}

.toolkit{list-style:none;margin:0;padding:32px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 24px;background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.toolkit li{display:flex;gap:10px;align-items:flex-start}
.toolkit svg{width:18px;height:18px;flex:none;margin-top:4px;color:var(--brand)}

.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;counter-reset:step}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;counter-increment:step}
.step::before{content:counter(step);display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--brand);color:var(--on-brand);font-weight:700;margin-bottom:14px}
.step h3{margin:0 0 6px;font-size:17px}.step p{margin:0;color:var(--muted);font-size:15px}

.faq{display:grid;gap:12px;max-width:760px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 20px}
.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:10px 0 0;color:var(--muted)}
.contact{margin-top:28px;max-width:760px;padding:24px;border-radius:var(--radius);background:var(--brand-soft);display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.contact p{margin:0}

footer{border-top:1px solid var(--line);padding:32px 0;color:var(--muted);font-size:14px}
footer .wrap{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between}
footer a{color:var(--muted)}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}

@media (max-width:820px){
  .hero .wrap{grid-template-columns:1fr;gap:40px;padding-top:48px;padding-bottom:56px}
  .story{grid-template-columns:1fr;gap:32px}
  .story:nth-child(even) .text{order:0}
  .toolkit{grid-template-columns:repeat(2,1fr)}
  section{padding:60px 0}.stories{gap:60px}
}
@media (max-width:560px){.toolkit{grid-template-columns:1fr;padding:22px}.fix{padding:18px 20px}}

/* Help pages (pages/<name>.<lang>.html) */
.wrap.narrow{max-width:820px}
.page-hero{background:radial-gradient(900px 400px at 90% -20%,var(--hero-b),transparent 60%),linear-gradient(160deg,var(--hero-a),var(--hero-b));color:var(--hero-fg)}
.page-hero .wrap{padding-top:48px;padding-bottom:52px}
.page-hero h1{font-size:clamp(28px,4.2vw,40px);line-height:1.2;margin:16px 0 12px;letter-spacing:-.015em;text-wrap:balance}
.page-hero .lead{font-size:17px;margin:0;color:var(--hero-fg)}
.page-hero .lead strong{color:var(--hero-fg)}
.help section{padding:48px 0}
.tip{margin:0 0 24px;padding:16px 20px;border-radius:12px;background:var(--brand-soft);font-size:15px}
.help-cards{display:grid;gap:20px}
.help-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.help-card h2{margin:0 0 12px;font-size:20px;line-height:1.3}
.help-card p{margin:0}
.help-card ul{margin:0;padding-left:20px}
.help-card li{margin:6px 0}
.help-note{color:var(--muted);font-size:15px;margin:-4px 0 14px!important}
.help-steps{list-style:none;margin:0;padding:0;counter-reset:hs;display:grid;gap:16px}
.help-steps>li{counter-increment:hs;position:relative;padding-left:44px;margin:0}
.help-steps>li::before{content:counter(hs);position:absolute;left:0;top:0;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--brand);color:var(--on-brand);font-weight:700;font-size:15px}
.search{display:block;width:fit-content;margin-top:8px;padding:3px 10px;border-radius:8px;background:var(--bg-soft);border:1px solid var(--line);color:var(--muted);font-size:14px}
.search b{color:var(--fg)}
.help .contact{margin-top:0}
@media (max-width:560px){.help-card{padding:20px}.page-hero .wrap{padding-top:36px;padding-bottom:40px}}

.btn.store{gap:8px}.btn.store svg{width:20px;height:20px;flex:none;margin-top:-2px}
.get{margin:32px 0 0;display:flex;gap:12px;flex-wrap:wrap}
