/* ====================================================================
   XLAB solutions · Legal pages (Impressum · AGB · Datenschutz)
   shares ARQOS Organic-Blue ground · readable single-column article
   ==================================================================== */

.legal-main{ padding-top:clamp(122px,16vh,176px); padding-bottom:clamp(48px,8vh,90px); }

/* ---- Hero ---- */
.legal-hero{ max-width:880px; }
.legal-kicker{ font-family:var(--font-mono); font-weight:500; letter-spacing:0.22em; font-size:12px;
  text-transform:uppercase; color:var(--pacific-bright); margin:0 0 22px; display:flex; align-items:center; gap:13px; }
.legal-kicker::before{ content:""; width:30px; height:7px; border-radius:40px; background:var(--pacific-bright); }
.legal-hero h1{ font-weight:900; letter-spacing:-0.04em; line-height:0.98; margin:0;
  font-size:clamp(40px,6.4vw,84px); text-transform:uppercase; color:var(--white); }
.legal-hero h1 .os{ color:var(--accent); }
.legal-lead{ font-size:clamp(16px,1.5vw,20px); line-height:1.62; color:var(--ice-dim);
  max-width:62ch; margin:26px 0 0; }
.legal-updated{ margin-top:20px; font-family:var(--font-mono); font-size:11px; letter-spacing:0.13em;
  text-transform:uppercase; color:var(--ice-faint); }

/* ---- Article body ---- */
.legal-body{ max-width:860px; margin-top:clamp(40px,6vh,72px); }
.legal-sec{ padding-top:clamp(34px,4.4vh,52px); margin-top:clamp(34px,4.4vh,52px); border-top:1px solid var(--glass-line); }
.legal-sec:first-child{ border-top:0; margin-top:0; padding-top:0; }
.legal-sec > h2{ display:flex; align-items:baseline; gap:16px; font-weight:900; letter-spacing:-0.025em;
  line-height:1.05; font-size:clamp(23px,2.6vw,32px); color:var(--white); margin:0 0 22px; text-wrap:balance; }
.legal-sec > h2 .n{ font-family:var(--font-mono); font-size:0.5em; font-weight:500; letter-spacing:0.04em;
  color:var(--pacific-bright); flex:none; transform:translateY(-0.15em); }
.legal-sub{ font-weight:700; font-size:clamp(16px,1.4vw,18.5px); color:var(--white);
  letter-spacing:-0.01em; margin:30px 0 10px; }
.legal-body p{ font-size:clamp(15px,1.25vw,16.5px); line-height:1.72; color:var(--ice-dim); margin:0 0 16px; max-width:72ch; }
.legal-body p strong{ color:var(--ice); font-weight:700; }
.legal-body a{ color:var(--pacific-bright); font-weight:500; border-bottom:1px solid color-mix(in srgb,var(--pacific-bright) 38%,transparent);
  transition:color var(--dur-fast), border-color var(--dur-fast); }
.legal-body a:hover{ color:var(--white); border-bottom-color:var(--white); }
.legal-body ul{ list-style:none; margin:6px 0 20px; padding:0; display:grid; gap:10px; max-width:72ch; }
.legal-body li{ position:relative; padding-left:24px; font-size:clamp(14.5px,1.2vw,16px); line-height:1.62; color:var(--ice-dim); }
.legal-body li::before{ content:""; position:absolute; left:2px; top:0.62em; width:8px; height:8px; border-radius:50%; background:var(--pacific-bright); }
.legal-body li strong{ color:var(--ice); font-weight:700; }

/* ---- Data card (company facts) ---- */
.legal-card{ padding:clamp(24px,2.6vw,36px); border-radius:22px; margin:8px 0 8px; }
.legal-card .label{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--ice-faint); margin:0 0 6px; }
.legal-card .org{ font-weight:900; text-transform:uppercase; letter-spacing:-0.02em; font-size:clamp(20px,2.2vw,26px); color:var(--white); margin:0 0 4px; }
.legal-card address{ font-style:normal; font-size:15.5px; line-height:1.7; color:var(--ice-dim); }
.legal-card address strong{ color:var(--ice); font-weight:700; }
.legal-card .rows{ display:grid; gap:13px; margin-top:18px; padding-top:18px; border-top:1px solid var(--glass-line); }
.legal-card .row{ display:grid; grid-template-columns:minmax(120px,0.34fr) 1fr; gap:14px; align-items:baseline; }
.legal-card .row .k{ font-family:var(--font-mono); font-size:11.5px; letter-spacing:0.07em; text-transform:uppercase; color:var(--ice-faint); }
.legal-card .row .v{ font-size:15px; line-height:1.55; color:var(--ice); }
.legal-card .row .v a{ font-weight:500; }
@media (max-width:560px){ .legal-card .row{ grid-template-columns:1fr; gap:3px; } }

/* placeholder chip for data still to be supplied */
.todo{ display:inline-block; font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:0.04em;
  text-transform:uppercase; color:var(--accent); background:color-mix(in srgb,var(--accent) 14%,transparent);
  border:1px dashed color-mix(in srgb,var(--accent) 52%,transparent); border-radius:6px; padding:2px 9px; }

/* ---- Joint-project lockup (two firm cards) ---- */
.legal-firms{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2vw,22px); margin:6px 0 12px; align-items:stretch; }
.legal-firms .legal-card{ display:flex; flex-direction:column; margin:0; }
.legal-firms .legal-card .org{ font-size:clamp(18px,1.9vw,22px); }
.firm-flag{ display:inline-flex; align-items:center; gap:8px; align-self:flex-start; margin-bottom:16px;
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase;
  padding:5px 12px; border-radius:40px; }
.firm-flag.primary{ background:var(--accent); color:#1c1402; }
.firm-flag.secondary{ background:var(--glass-2); color:var(--pacific-bright); border:1px solid var(--glass-line-hi); }
@media (max-width:680px){ .legal-firms{ grid-template-columns:1fr; } }

/* responsible-party callout */
.legal-note{ margin:22px 0 4px; padding:20px 26px; border-radius:18px; background:var(--glass-2);
  border:1px solid var(--glass-line); border-left:3px solid var(--accent); }
.legal-note p{ margin:0; color:var(--ice); }
.legal-note p strong{ color:var(--white); }

/* back link */
.legal-back{ display:inline-flex; align-items:center; gap:9px; margin-top:clamp(40px,6vh,68px);
  font-weight:700; font-size:14px; color:var(--pacific-bright); }
.legal-back:hover{ color:var(--white); }
.legal-back i{ transition:transform var(--dur-fast); }
.legal-back:hover i{ transform:translateX(-4px); }

/* hide the inactive language block */
[data-lang-content][hidden]{ display:none; }
