:root{
  --bg:#FFF8F0;--surface:#FFFFFF;--surface-soft:#FFF1E4;
  --ink:#3A2E2A;--ink-muted:#6F5F57;--border:#F0DFCE;
  --accent:#3E9468;--accent-soft:#DFF5E7;--accent-ink:#2B6E4C;
  --primary:#E8703F;--primary-dark:#C95A2B;--primary-soft:#FFE1D2;
  --shadow:0 1px 2px rgba(58,46,42,.05),0 10px 28px -16px rgba(58,46,42,.22);
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#1C140F;--surface:#261C15;--surface-soft:#2F2319;
    --ink:#F4EBE1;--ink-muted:#C4AF9F;--border:#3C2E22;
    --accent:#7FD9A8;--accent-soft:#213A2C;--accent-ink:#9EE7BE;
    --primary:#FF9868;--primary-dark:#FF9868;--primary-soft:#3A2618;
    --shadow:0 1px 2px rgba(0,0,0,.35),0 10px 28px -16px rgba(0,0,0,.55);
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;line-height:1.65;
  -webkit-font-smoothing:antialiased}
a{color:var(--primary-dark)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{max-width:960px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px}
@media(max-width:520px){.wrap{padding:0 16px}}

header.site{padding:20px 0}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand-mark{width:38px;height:38px;border-radius:10px;object-fit:cover;flex:none;display:block}
.brand-name{font-weight:800;font-size:1.2rem;letter-spacing:-.01em}
nav.site{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
nav.site a{color:var(--ink-muted);text-decoration:none;font-weight:700;font-size:.92rem;
  padding:6px 12px;border-radius:999px}
nav.site a:hover{color:var(--ink);background:var(--surface-soft)}
nav.site a.lang{border:1px solid var(--border);background:var(--surface);color:var(--ink)}
@media(max-width:600px){nav.site a.hide-sm{display:none}}

.hero{padding:48px 0 40px;text-align:center}
.hero h1{font-size:clamp(2rem,6vw,3.1rem);line-height:1.15;font-weight:800;
  letter-spacing:-.02em;margin:0 auto 16px;max-width:18ch;text-wrap:balance}
.hero p.lead{font-size:1.12rem;color:var(--ink-muted);max-width:52ch;margin:0 auto 28px}
.badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}
.badge{display:inline-flex;align-items:center;gap:8px;background:var(--surface);
  border:1px solid var(--border);border-radius:999px;padding:8px 16px;
  font-weight:700;font-size:.9rem;box-shadow:var(--shadow)}
.cta{display:inline-block;background:var(--primary-dark);color:#fff;font-weight:800;
  border-radius:16px;padding:14px 26px;text-decoration:none;box-shadow:var(--shadow)}
.cta[aria-disabled=true]{opacity:.85;cursor:default}
.cta-note{display:block;margin-top:10px;font-size:.85rem;color:var(--ink-muted)}

section.block{padding:40px 0}
section.block h2{font-size:1.65rem;font-weight:800;letter-spacing:-.01em;margin:0 0 8px;text-wrap:balance}
section.block .sub{color:var(--ink-muted);margin:0 0 24px;max-width:60ch}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;
  padding:22px;box-shadow:var(--shadow)}
.card .ico{font-size:1.7rem;display:block;margin-bottom:8px}
.card h3{margin:0 0 6px;font-size:1.05rem;font-weight:800}
.card p{margin:0;color:var(--ink-muted);font-size:.95rem}
.steps{counter-reset:s;display:grid;gap:14px;padding:0;list-style:none;margin:0}
.steps li{counter-increment:s;background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:16px 18px 16px 62px;position:relative;box-shadow:var(--shadow)}
.steps li::before{content:counter(s);position:absolute;left:16px;top:14px;width:32px;height:32px;
  border-radius:50%;background:var(--primary-soft);color:var(--primary-dark);font-weight:800;
  display:flex;align-items:center;justify-content:center}
.steps strong{display:block}
.trust{background:var(--accent-soft);border:1px solid var(--accent);border-radius:20px;
  padding:26px 28px;box-shadow:var(--shadow)}
.trust h2{margin-top:0;color:var(--accent-ink)}
.trust p{margin:0 0 10px;max-width:62ch}
.trust a{color:var(--accent-ink);font-weight:800}
.notice{background:var(--surface-soft);border:1px solid var(--border);border-radius:16px;
  padding:16px 20px;font-size:.92rem;color:var(--ink-muted)}
details{background:var(--surface);border:1px solid var(--border);border-radius:14px;
  padding:14px 18px;margin-bottom:10px;box-shadow:var(--shadow)}
details summary{font-weight:800;cursor:pointer}
details p{margin:10px 0 0;color:var(--ink-muted)}

footer.site{border-top:1px solid var(--border);margin-top:40px;padding:28px 0 48px;
  color:var(--ink-muted);font-size:.9rem}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
footer.site a{color:var(--ink-muted);font-weight:700}
footer.site p{margin:4px 0}

/* policy pages */
.doc h1{font-size:1.9rem;font-weight:800;letter-spacing:-.01em;margin:24px 0 6px;text-wrap:balance}
.subtitle{color:var(--ink-muted);margin:0 0 24px}
.doc-section{margin:0 0 28px;padding-left:20px;border-left:3px solid var(--border)}
.doc-section .num{display:inline-block;font-weight:800;font-size:.78rem;letter-spacing:.04em;color:var(--primary-dark)}
.doc-section h2{font-size:1.15rem;font-weight:800;margin:0 0 10px}
.doc-section p,.doc-section li{font-size:.97rem;max-width:68ch}
.doc-section ul{margin:8px 0;padding-left:20px;display:grid;gap:6px}
.doc-section p+p{margin-top:10px}
.contactbox{background:var(--surface);border:1px solid var(--border);border-radius:16px;
  padding:20px 22px;box-shadow:var(--shadow)}
