/* ============================================================
   Kylosys — legal pages (privacy policy, terms of service)

   Same palette, type and geometry as the homepage, so the
   documents read as part of the same site. Only the document
   layout is new here.
   ============================================================ */
:root{
  --oat:#fff6ea;
  --plum:#2a1e3a;
  --green:#1e9e64;
  --deep:#0e7a4c;
  --mint:#e9f4ec;
  --sand:#f3ede2;
  --muted:#5b5166;
  --muted-2:#8b8195;
  --lav:#cfc4da;
  --plum-2:#3d2f50;
  --line:#ede3d3;

  --wrap:1080px;
  --pad:60px;
  --r-card:20px;
  --r-pill:999px;
  --shadow-card:0 1px 2px rgba(42,30,58,.04), 0 12px 32px rgba(42,30,58,.06);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  margin:0;
  background:var(--oat);
  color:var(--plum);
  font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:15.8px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-family:"Bricolage Grotesque","DM Sans",sans-serif;font-weight:800;letter-spacing:-.018em;line-height:1.05}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:6px}

/* ---------- top bar ---------- */
.bar{border-bottom:1px solid var(--line)}
.bar__row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.brand{display:flex;align-items:center}
.brand img{height:26px;width:auto}
.bar__links{display:flex;align-items:center;gap:22px}
.bar__links a{font-size:14px;font-weight:700;white-space:nowrap}
.bar__links a:hover{color:var(--deep)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-size:12.8px;font-weight:700;line-height:1;padding:15px 24px;
  border-radius:var(--r-pill);white-space:nowrap;transition:transform .16s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn--green{background:var(--deep);color:#fff}
.btn--sm{font-size:12.4px;padding:11px 18px}

/* ---------- the document ---------- */
.doc{max-width:820px;padding-block:52px 0}
.doc__eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--mint);color:var(--deep);
  font-size:10.5px;font-weight:700;line-height:1.2;
  padding:5px 13px;border-radius:var(--r-pill);
}
.doc h1{font-size:clamp(32px,4.6vw,44px);margin-top:18px}
.doc__meta{font-family:"DM Mono",ui-monospace,Menlo,monospace;font-size:11.5px;color:var(--muted);margin-top:15px}
.mono{font-family:"DM Mono",ui-monospace,Menlo,monospace;font-size:.94em}
.lead{
  margin-top:22px;background:#fff;border-radius:var(--r-card);
  padding:22px 24px;font-size:17.2px;line-height:1.55;box-shadow:var(--shadow-card);
}
.toc{
  margin-top:24px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-card);padding:20px 24px;
}
.toc h2{font-family:"DM Sans",sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.toc ol{margin-top:13px;display:grid;grid-template-columns:1fr 1fr;gap:7px 26px;counter-reset:toc}
.toc li{counter-increment:toc;font-size:14.4px;line-height:1.35}
.toc li::before{content:counter(toc) ". ";color:var(--muted-2,#8b8195)}
.toc a{border-bottom:1px solid transparent}
.toc a:hover{color:var(--deep);border-bottom-color:var(--green)}

.doc section{margin-top:40px;scroll-margin-top:24px}
.doc h2{font-size:23px;margin-bottom:12px}
.doc h3{font-size:16.4px;margin-top:20px;margin-bottom:6px}
.doc p{margin-top:12px}
.doc p:first-of-type{margin-top:0}
.doc ul.bullets{margin-top:13px;display:flex;flex-direction:column;gap:9px}
.doc ul.bullets li{position:relative;padding-left:21px}
.doc ul.bullets li::before{
  content:"";position:absolute;left:2px;top:9px;
  width:6px;height:6px;border-radius:50%;background:var(--green);
}
.doc a{color:var(--deep);text-decoration:underline;text-underline-offset:2px}
.doc a:hover{color:var(--green)}
.callout{margin-top:16px;background:var(--mint);border-radius:16px;padding:16px 19px;font-size:14.8px}
/* The few facts only Kylosys can fill in: a legal entity name, an address, a
   jurisdiction. Marked plainly so they are obvious rather than quietly wrong. */
.ph{background:var(--sand);border-radius:5px;padding:1px 4px;white-space:nowrap}
.doc__foot{
  margin-top:44px;padding-top:22px;border-top:1px solid var(--line);
  font-size:14.4px;color:var(--muted);
}

/* ---------- bottom bar ---------- */
.foot{background:var(--plum);color:var(--lav);margin-top:64px;padding-block:22px;font-size:10.5px}
.foot__row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.foot a{color:var(--oat);text-decoration:underline;text-underline-offset:2px}
.foot a:hover{color:#fff}

@media (max-width:760px){
  :root{--pad:22px}
  .doc{padding-block:36px 0}
  .doc h1{font-size:31px}
  .doc h2{font-size:20.5px}
  .lead{font-size:16.2px;padding:18px 20px}
  .toc ol{grid-template-columns:1fr}
  .bar__links{gap:12px}
  .btn--sm{font-size:12px;padding:10px 15px}
}
@media (max-width:560px){
  .bar__pricing{display:none}
}
