/* ─────────────────────────────────────────────────────────────────────────
   1satz AG · Rechtstexte (AGB, Impressum, Datenschutz)
   Farben und Schrift kommen aus https://brand.1satz.ch/tokens.css
   Layout folgt der Homepage: hell, ruhig, viel Weissraum.
   ───────────────────────────────────────────────────────────────────────── */

:root{
  --rt-paper:#ffffff;
  --rt-dark:#0e1616;            /* dunkle Sektionen wie auf der Startseite */
  --rt-on-dark:#e9efef;
  --rt-on-dark-dim:#7d8c8c;
  --rt-line:rgba(26,26,26,.12);
}

*{box-sizing:border-box;margin:0;padding:0}

body{
  font-family:var(--brand-font);
  background:var(--rt-paper);
  color:var(--brand-ink);
  line-height:1.7;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
  max-width:100vw;
}

.rt-wrap{max-width:1200px;width:100%;margin:0 auto;padding:0 48px}

/* ── Kopf ────────────────────────────────────────────────────────────── */
.rt-head{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--rt-line);
}
.rt-head-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:74px}
.rt-logo{display:flex;align-items:center;text-decoration:none}
.rt-logo img{display:block;height:30px;width:auto}
.rt-back{
  font-size:.8125rem;letter-spacing:.01em;text-decoration:none;
  color:var(--brand-gray);border:1px solid var(--rt-line);
  padding:9px 18px;border-radius:3px;transition:border-color .2s,color .2s;
  white-space:nowrap;
}
.rt-back:hover{color:var(--brand-teal);border-color:var(--brand-teal)}

/* ── Inhalt ──────────────────────────────────────────────────────────── */
.rt-main{padding:76px 48px 96px;max-width:844px}

.rt-main .rt-eyebrow{
  font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--brand-teal);font-weight:400;margin-bottom:22px;
}

.rt-main h1{
  font-size:clamp(2.1rem,4.4vw,3rem);
  line-height:1.12;letter-spacing:-.03em;font-weight:600;
  text-wrap:balance;margin-bottom:20px;
}

.rt-main .rt-lead{font-size:1.0625rem;color:var(--brand-gray);font-weight:300;max-width:34em;margin-bottom:0}

.rt-main .rt-stand{
  font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--brand-gray-light);margin-top:26px;margin-bottom:0;
  padding-top:26px;border-top:1px solid var(--rt-line);
}

.rt-main h2{
  font-size:1.3125rem;line-height:1.3;letter-spacing:-.015em;font-weight:600;
  margin:52px 0 14px;
}
.rt-main h3{
  font-size:1rem;line-height:1.4;font-weight:600;
  margin:30px 0 10px;color:var(--brand-ink);
}
.rt-main p{margin-bottom:16px;color:#2e2e2e}
.rt-main ul{margin:0 0 16px 1.15rem;color:#2e2e2e}
.rt-main li{margin-bottom:8px}

.rt-main a{color:var(--brand-teal);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.rt-main a:hover{text-decoration-thickness:2px}

.rt-box{
  margin-top:52px;padding:26px 28px;
  background:var(--brand-tint);border-radius:3px;
}
.rt-box p{margin:0;font-size:.9375rem}

.rt-table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:.9375rem}
.rt-table th,.rt-table td{
  text-align:left;vertical-align:top;padding:11px 14px 11px 0;
  border-bottom:1px solid var(--rt-line);
}
.rt-table th{font-weight:600;width:34%;white-space:nowrap}
.rt-table td{color:#2e2e2e}

/* ── Fuss ────────────────────────────────────────────────────────────── */
.rt-foot{background:var(--rt-dark);color:var(--rt-on-dark-dim);padding:64px 0 36px;margin-top:20px}
.rt-foot-links{display:flex;gap:30px;flex-wrap:wrap;font-size:.875rem}
.rt-foot-links a{text-decoration:none;color:var(--rt-on-dark-dim);transition:color .2s}
.rt-foot-links a:hover,.rt-foot-links a[aria-current="page"]{color:var(--rt-on-dark)}
.rt-foot-note{
  margin-top:48px;padding-top:22px;border-top:1px solid rgba(233,239,239,.1);
  font-size:.71rem;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
}

@media(max-width:768px){
  .rt-wrap{padding:0 24px}
  .rt-main{padding:52px 24px 72px}
  .rt-head-inner{height:64px}
  .rt-table th{width:auto;display:block;border-bottom:none;padding-bottom:2px}
  .rt-table td{display:block;padding-top:0}
  .rt-table tr{display:block;padding:10px 0;border-bottom:1px solid var(--rt-line)}
  .rt-table th,.rt-table td{border-bottom:none}
}
