:root{
  --brand:#0E8C44; --brand-dark:#0A6D35; --ink:#0F1216; --text:#1B2430;
  --muted:#5B6675; --bg:#F7F9F6; --card:#FFFFFF; --border:#E6EAE2;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.65; font-size:17px;
}
a{color:var(--brand); text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:760px; margin:0 auto; padding:0 22px}

/* header */
.site-header{padding:40px 0 8px; text-align:center}
.logo{width:84px; height:84px; border-radius:20px; box-shadow:0 8px 30px rgba(14,140,68,.18)}
.site-header h1{margin:16px 0 2px; font-size:26px; letter-spacing:-.02em; color:var(--ink)}
.site-header .by{color:var(--muted); font-size:15px; margin:0}

/* hero (home) */
.hero{text-align:center; padding:8px 0 28px}
.hero p{color:var(--muted); max-width:540px; margin:10px auto 0}
.cards{display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin:30px 0}
.card{
  flex:1 1 220px; max-width:300px; background:var(--card); border:1px solid var(--border);
  border-radius:16px; padding:22px; text-align:left;
}
.card h3{margin:0 0 6px; color:var(--ink); font-size:18px}
.card p{margin:0; color:var(--muted); font-size:15px}

/* legal pages */
.doc{background:var(--card); border:1px solid var(--border); border-radius:18px; padding:30px 28px; margin:24px 0 40px}
.doc h2{font-size:24px; color:var(--ink); margin:0 0 4px; letter-spacing:-.02em}
.doc .eff{color:var(--muted); font-size:14px; margin:0 0 22px}
.doc h3{font-size:18px; color:var(--ink); margin:26px 0 6px}
.doc p, .doc li{color:var(--text)}
.doc ul{padding-left:20px}
.doc a{word-break:break-word}
.back{display:inline-block; margin-top:6px; font-size:15px}

/* footer */
.site-footer{border-top:1px solid var(--border); padding:26px 0 50px; text-align:center; color:var(--muted); font-size:14px}
.site-footer a{margin:0 8px}
.site-footer .legal{margin-bottom:8px}
