/* Legal documents: the /terms page and the popup on the home page share these styles. */

/* ---------- document switcher ---------- */
.lg-tabs{display:flex;flex-wrap:wrap;gap:10px}
.lg-tab{
  display:flex;flex-direction:column;gap:4px;min-width:170px;padding:14px 18px 13px;
  border:1px solid var(--line-strong);text-decoration:none;color:var(--ink);background:transparent;
  transition:border-color .35s,background .35s,color .35s;cursor:pointer;text-align:left;font:inherit;
}
.lg-tab:hover{border-color:var(--ink)}
.lg-tab[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.lg-tab-for{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.lg-tab[aria-selected="true"] .lg-tab-for{color:rgba(var(--paper-rgb),.72)}
.lg-tab-name{font-family:var(--serif);font-size:1.18rem;font-weight:480;letter-spacing:-.01em}

/* ---------- document body ---------- */
.lg-kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:10px}
.lg-kicker::before{content:"";width:22px;height:1px;background:var(--accent)}
.lg-doc-title{font-family:var(--serif);font-weight:460;letter-spacing:-.02em;line-height:1.02;font-size:clamp(2rem,4.4vw,3.1rem);margin-top:14px}
.lg-meta{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted);margin-top:14px}

.lg-text{color:var(--ink-2);font-size:15.5px;line-height:1.78;max-width:68ch}
.lg-text p{margin:0 0 14px}
.lg-text strong{color:var(--ink);font-weight:600}
.lg-text h2{
  font-family:var(--serif);font-weight:500;color:var(--ink);letter-spacing:-.01em;line-height:1.2;
  font-size:clamp(1.3rem,2.2vw,1.6rem);margin:44px 0 16px;padding-top:26px;border-top:1px solid var(--line);
  display:flex;gap:14px;align-items:baseline;scroll-margin-top:110px;
}
.lg-text h2:first-child{margin-top:8px}
.lg-text .h-no{font-family:var(--mono);font-size:.62em;font-weight:500;color:var(--accent);letter-spacing:.06em;min-width:1.6em}
.lg-text h3{font-family:var(--serif);font-style:italic;font-weight:460;color:var(--ink);font-size:1.16rem;margin:28px 0 10px;scroll-margin-top:110px}
.lg-text .clause{position:relative;padding-left:calc(3.2em + 10px)}
.lg-text .cl-no{position:absolute;left:0;top:.22em;font-family:var(--mono);font-size:.82em;color:var(--accent);letter-spacing:.04em}
.lg-text .item{padding-left:calc(3.2em + 10px);text-indent:-1.9em;margin-left:1.9em}
.lg-text ul{margin:0 0 16px;padding-left:calc(3.2em + 10px);list-style:none}
.lg-text li{position:relative;margin:0 0 8px}
.lg-text li::before{content:"";position:absolute;left:-18px;top:.78em;width:8px;height:1px;background:var(--accent)}

.doc-table{overflow-x:auto;margin:6px 0 22px;border-top:1px solid var(--ink)}
.doc-table table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6;min-width:520px}
.doc-table th{
  text-align:left;font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink);padding:12px 14px 10px 0;border-bottom:1px solid var(--line-strong);vertical-align:bottom
}
.doc-table td{padding:12px 14px 12px 0;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
.doc-table td:first-child{color:var(--ink);font-weight:500;width:30%}

/* ---------- table of contents ---------- */
.lg-toc-label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.lg-toc ol{list-style:none;display:flex;flex-direction:column;gap:2px}
.lg-toc a{
  display:block;padding:6px 0 6px 14px;border-left:1px solid var(--line);color:var(--ink-2);text-decoration:none;
  font-size:13.5px;line-height:1.4;transition:color .25s,border-color .25s
}
.lg-toc a:hover,.lg-toc a.on{color:var(--ink);border-left-color:var(--accent)}

/* ---------- popup ---------- */
.lgp{position:fixed;inset:0;z-index:420;display:flex;align-items:center;justify-content:center;padding:clamp(10px,3vw,28px)}
.lgp[hidden]{display:none}
.lgp-backdrop{position:absolute;inset:0;background:rgba(var(--ink-rgb),.46);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;transition:opacity .45s ease}
.lgp-card{
  position:relative;display:flex;flex-direction:column;width:min(980px,100%);height:min(88vh,920px);
  background:var(--paper);border:1px solid var(--line-strong);box-shadow:0 30px 90px rgba(var(--ink-rgb),.3);
  transform:translateY(22px) scale(.975);opacity:0;transition:transform .55s var(--ease-out),opacity .4s ease;
}
.lgp.open .lgp-backdrop{opacity:1}
.lgp.open .lgp-card{transform:none;opacity:1}
.lgp-head{padding:clamp(22px,3.4vw,34px) clamp(22px,4vw,44px) 20px;border-bottom:1px solid var(--line)}
.lgp-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.lgp-title{font-family:var(--serif);font-weight:460;letter-spacing:-.02em;line-height:1.04;font-size:clamp(1.7rem,3.6vw,2.5rem)}
.lgp-title em{font-style:italic;color:var(--accent)}
.lgp-x{
  flex:none;width:40px;height:40px;background:none;border:none;cursor:pointer;margin:-6px -8px 0 0;
  font-family:var(--sans);font-size:24px;font-weight:300;color:var(--muted);line-height:1;
  transition:color .3s,transform .35s var(--ease-out);
}
.lgp-x:hover{color:var(--ink);transform:rotate(90deg)}
.lgp-head .lg-tabs{margin-top:20px}
.lgp-head .lg-tab{min-width:0;padding:10px 14px 9px}
.lgp-head .lg-tab-name{font-size:1rem}
.lgp-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:8px clamp(22px,4vw,44px) 30px;display:grid;grid-template-columns:1fr;gap:34px}
.lgp-body .lg-meta{margin:18px 0 6px}
.lgp-foot{
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding:14px clamp(22px,4vw,44px);border-top:1px solid var(--line);
  font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)
}
.lgp-foot a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:2px}
.lgp-foot a:hover{color:var(--accent)}
.lgp-loading{padding:40px 0;font-family:var(--serif);font-style:italic;color:var(--muted);font-size:1.2rem}
@media(min-width:900px){
  .lgp-body{grid-template-columns:210px 1fr}
  .lgp-body .lg-toc{position:sticky;top:18px;align-self:start;max-height:calc(88vh - 260px);overflow-y:auto;padding-top:22px}
}
@media(max-width:899px){.lgp-body .lg-toc{display:none}}
.lgp-body > *,.lg-doc > *{min-width:0}
@media(max-width:640px){
  .lgp-head{padding:18px 18px 14px}
  .lgp-title{font-size:1.45rem}
  .lgp-head .lg-tabs{flex-wrap:nowrap;overflow-x:auto;gap:6px;margin-top:14px;scrollbar-width:none}
  .lgp-head .lg-tab{flex:none;padding:8px 12px}
  .lgp-head .lg-tab-for{display:none}
  .lgp-body{padding:4px 18px 24px}
  .lgp-foot{padding:12px 18px}
  .lg-text .clause{padding-left:3em}
  .lg-text .item{padding-left:calc(3em + 1.9em);margin-left:0}
  .lg-text ul{padding-left:22px}
}
html.lgp-lock,html.lgp-lock body{overflow:hidden}

@media (prefers-reduced-motion: reduce){
  .lgp-card,.lgp-backdrop,.lg-tab,.lgp-x{transition:none}
}

/* ---------- cookie banner ---------- */
.ck{
  position:fixed;left:20px;bottom:20px;z-index:390;width:min(420px,calc(100% - 40px));
  padding:20px 22px 18px;background:var(--paper);color:var(--ink);border:1px solid var(--line-strong);
  box-shadow:0 18px 50px rgba(var(--ink-rgb),.18);
  transform:translateY(16px);opacity:0;transition:transform .5s var(--ease-out),opacity .35s ease;
}
.ck[hidden]{display:none}
.ck.open{transform:none;opacity:1}
.ck-text{font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--ink-2);margin:10px 0 16px}
.ck-text a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent);white-space:nowrap}
.ck-text a:hover{color:var(--accent)}
.ck-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ck-btn{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;
  padding:12px 10px;border:1px solid var(--ink);background:transparent;color:var(--ink);
  transition:background .3s,color .3s,border-color .3s;
}
.ck-btn:hover{background:var(--ink);color:var(--paper)}
.ck-yes{background:var(--ink);color:var(--paper)}
.ck-yes:hover{background:var(--accent);border-color:var(--accent)}
@media(max-width:520px){.ck{left:12px;right:12px;bottom:12px;width:auto;padding:18px 18px 16px}}
@media (prefers-reduced-motion: reduce){.ck{transition:none}}

/* ---------- headings break into even lines ("in plain / sight.", "data protection / law") ---------- */
.lg-hero h1,.lg-doc-title,.lg-text h2,.lgp-title{text-wrap:balance}
