:root{
  --bg:#faf8f5;
  --text:#131722;
  --muted:#5f6168;
  --border:#e4e0d9;
  --surface:#f1edec;
  --accent:#13131f;
  --maxw:680px;
}
*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Golos Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{ color:var(--accent); }

/* header / nav */
.site-header{
  max-width:var(--maxw); margin:0 auto; padding:20px 22px;
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:12px 18px;
}
.brand{ display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:var(--text); }
.brand-icon{ width:32px; height:32px; border-radius:8px; border:1px solid var(--border); }
.brand-name{ font-weight:600; font-size:16px; letter-spacing:-.01em; }
.site-nav{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.site-nav a{ text-decoration:none; color:var(--muted); font-size:15px; font-weight:500; }
.site-nav a:hover{ color:var(--text); }
.site-nav a.active{ color:var(--text); text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:2px; }

.lang-toggle{
  display:inline-flex; gap:2px; padding:3px;
  background:var(--surface); border:1px solid var(--border); border-radius:999px;
}
.lang-btn{
  appearance:none; -webkit-appearance:none; border:0; background:transparent;
  cursor:pointer; font:inherit; font-size:13px; font-weight:500; color:var(--muted);
  padding:5px 12px; border-radius:999px; transition:background .15s, color .15s;
}
.lang-btn[aria-pressed="true"]{ background:var(--accent); color:#fff; }
.lang-btn:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }

/* content wrapper */
.page{ max-width:var(--maxw); margin:0 auto; padding:0 22px 56px; }

/* buttons */
.btn{
  display:inline-block; text-decoration:none; font-weight:500; font-size:16px;
  padding:11px 20px; border-radius:12px; border:1px solid var(--accent);
  transition:opacity .15s, background .15s;
}
.btn-primary{ background:var(--accent); color:#fff; }
.btn-primary:hover{ opacity:.88; }
.btn-secondary{ background:transparent; color:var(--accent); }
.btn-secondary:hover{ background:var(--surface); }

/* hero (landing) */
.hero{ text-align:center; padding:40px 0 8px; }
.hero-icon{ width:88px; height:88px; border-radius:20px; border:1px solid var(--border); }
.hero-title{ font-size:30px; font-weight:600; letter-spacing:-.02em; margin:18px 0 6px; }
.hero-tagline{ font-size:18px; font-weight:500; margin:0 0 10px; }
.hero-desc{ color:var(--muted); margin:0 auto 26px; max-width:48ch; }
.hero-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* contact */
.contact{ padding:32px 0; }
.contact h1{ font-size:26px; font-weight:600; letter-spacing:-.01em; margin:0 0 12px; }
.contact p{ margin:0 0 18px; }
.contact .muted{ color:var(--muted); font-size:15px; }

/* privacy doc head + policy */
.doc-head{ text-align:center; padding:8px 0 4px; }
.doc-title{ font-size:26px; font-weight:600; letter-spacing:-.01em; margin:0 0 4px; }
.doc-label{ margin:0; color:var(--muted); font-size:15px; font-weight:500; }
.effective-date{ margin:6px 0 0; color:var(--muted); font-size:14px; }
.policy h2{ font-size:19px; font-weight:600; letter-spacing:-.01em; margin:34px 0 8px; }
.policy p{ margin:0 0 14px; }
.policy .intro{ font-size:18px; }
.policy ul{ margin:0 0 14px; padding-left:22px; }
.policy li{ margin:5px 0; }
.policy:not([hidden]) + .policy:not([hidden]){ margin-top:28px; padding-top:28px; border-top:1px solid var(--border); }

/* footer */
.site-footer{
  max-width:var(--maxw); margin:40px auto 0; padding:22px;
  border-top:1px solid var(--border); text-align:center; color:var(--muted); font-size:13px;
}

@media (max-width:480px){
  body{ font-size:16px; }
  .site-header{ padding:16px 18px; }
  .page{ padding:0 18px 48px; }
  .hero-title{ font-size:26px; }
}
