/* Shared styles for the static legal pages (/privacy, /terms, /cookies).
   Mirrors the landing-page palette + type from src/index.css. */
:root{
  --bg:#f3ede1;
  --ink:#1c1a15;
  --muted:#6d685c;
  --hair:rgba(28,26,21,.13);
  --accent:#FF282E;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Outfit",system-ui,sans-serif;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.65;
}
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 60% at 80% 0%, rgba(196,98,45,.08), transparent 70%);
}

.wrap{position:relative;z-index:1;max-width:740px;min-height:100vh;margin:0 auto;padding:0 clamp(20px,5vw,40px);display:flex;flex-direction:column}

/* header */
.topbar{display:flex;align-items:center;justify-content:space-between;height:70px;margin-bottom:8px}
.topbar a.home{display:flex;align-items:center;gap:7px;text-decoration:none;color:var(--ink)}
.topbar img{display:block}
.back{font-family:"Geist Mono",monospace;font-size:12.5px;color:var(--muted);text-decoration:none;letter-spacing:.01em}
.back:hover{color:var(--ink)}

/* breadcrumbs */
.crumbs{font-family:"Geist Mono",monospace;font-size:12px;color:var(--muted);letter-spacing:.01em;margin:0 0 14px}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--accent)}
.crumbs .sep{margin:0 7px;opacity:.55}
.crumbs [aria-current]{color:var(--ink)}

/* document head */
.doc-head{padding:18px 0 28px;border-bottom:1px solid var(--hair);margin-bottom:34px}
h1{margin:0;font-weight:600;letter-spacing:-.02em;line-height:1.05;font-size:clamp(30px,4vw,44px)}
.updated{margin:14px 0 0;font-family:"Geist Mono",monospace;font-size:12.5px;color:var(--muted);letter-spacing:.01em}
.lead{margin:18px 0 0;color:var(--muted);font-size:16.5px;max-width:62ch}

/* body */
main{padding-bottom:80px}
h2{margin:42px 0 10px;font-weight:600;letter-spacing:-.015em;font-size:clamp(19px,2.4vw,23px);scroll-margin-top:20px}
h2 .num{color:var(--accent);font-family:"Geist Mono",monospace;font-size:.7em;font-weight:500;margin-right:10px;letter-spacing:0}
h3{margin:24px 0 6px;font-weight:600;font-size:16.5px;letter-spacing:-.01em}
p,li{font-size:16px;color:#2c2a24;max-width:64ch}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
ul{margin:10px 0;padding-left:22px}
li{margin:6px 0}
strong{font-weight:600;color:var(--ink)}

/* placeholder + callout */
.ph{background:rgba(255,40,46,.10);border-bottom:1px dashed var(--accent);padding:0 3px;border-radius:2px;font-style:normal}
.callout{margin:24px 0;padding:14px 18px;background:rgba(28,26,21,.04);border:1px solid var(--hair);border-radius:11px;font-size:14.5px;color:var(--muted)}
.callout strong{color:var(--ink)}

/* contact table */
.kv{margin:8px 0 0;font-size:16px}
.kv b{font-weight:600}

/* footer */
.foot{margin-top:auto;border-top:1px solid var(--hair);padding:26px 0 40px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-family:"Geist Mono",monospace;font-size:12px;color:var(--muted);letter-spacing:.01em}
.foot a{color:var(--muted)}
.foot a:hover{color:var(--ink);text-decoration:none}
.foot .sep{opacity:.4}

@media (max-width:560px){
  .lead{font-size:15.5px}
  p,li{font-size:15.5px}
}

/* ── governance pages (security / compliance / data-protection / risk / assets) ── */

/* sensitivity + standing tags */
.tag{display:inline-block;font-family:"Geist Mono",monospace;font-size:11px;font-weight:500;
  letter-spacing:.02em;padding:2px 9px;border-radius:999px;white-space:nowrap;line-height:1.55;
  border:1px solid transparent}
.tag--secret{background:rgba(255,40,46,.10);color:#b41f24;border-color:rgba(255,40,46,.22)}
.tag--confidential{background:rgba(196,98,45,.13);color:#97491a;border-color:rgba(196,98,45,.26)}
.tag--internal{background:rgba(43,92,150,.10);color:#2d5990;border-color:rgba(43,92,150,.22)}
.tag--pseudonymous,.tag--system{background:rgba(42,120,72,.12);color:#2c6b43;border-color:rgba(42,120,72,.24)}
.tag--shared{background:rgba(196,98,45,.13);color:#97491a;border-color:rgba(196,98,45,.26)}
.tag--yours{background:rgba(110,70,160,.12);color:#6b46a0;border-color:rgba(110,70,160,.24)}

/* register / mapping tables */
.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0}
table.reg{width:100%;border-collapse:collapse;font-size:14.5px}
table.reg th,table.reg td{text-align:left;vertical-align:top;padding:9px 12px;border-bottom:1px solid var(--hair)}
table.reg th{font-family:"Geist Mono",monospace;font-size:11.5px;font-weight:500;color:var(--muted);
  letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
table.reg td{color:#2c2a24;max-width:none}
table.reg code{font-family:"Geist Mono",monospace;font-size:12.5px;background:rgba(28,26,21,.05);
  padding:1px 5px;border-radius:4px}

/* hub index cards */
.idx{list-style:none;margin:22px 0 8px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.idx a{display:block;padding:16px 18px;border:1px solid var(--hair);border-radius:13px;
  text-decoration:none;color:var(--ink);background:rgba(28,26,21,.015);
  transition:border-color .15s ease,background .15s ease}
.idx a:hover{border-color:var(--accent);background:rgba(255,40,46,.03);text-decoration:none}
.idx .t{display:block;font-weight:600;font-size:15.5px;letter-spacing:-.01em}
.idx .d{display:block;margin-top:4px;font-size:13.5px;color:var(--muted);line-height:1.5}

@media (max-width:560px){
  .idx{grid-template-columns:1fr}
  table.reg{font-size:13.5px}
}
