/* =====================================================================
   KBS Scaling — Feuille de style partagée des pages légales
   ===================================================================== */
:root{
  --bg:#0D0D0F; --bg-2:#121216; --surface:#16161C;
  --accent:#F0A030; --accent-2:#E8952A; --accent-deep:#C9741A;
  --text:#F5F5F5; --text-dim:#8A8A8A; --text-dimmer:#6a6a72;
  --border:rgba(255,255,255,.08); --border-strong:rgba(255,255,255,.14);
  --glow:rgba(240,160,48,.5);
  --font-display:'Montserrat',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
  --container:820px; --gutter:clamp(20px,5vw,40px);
  --ease-expo:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{ font-family:var(--font-body); background:var(--bg); color:var(--text); line-height:1.7; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a{ color:var(--accent); text-decoration:none; transition:color .2s; }
a:hover{ color:#ffcf8a; }
:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:4px; }
::selection{ background:var(--accent); color:#1a1205; }

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--gutter); }

/* Nav */
.nav{ position:sticky; top:0; z-index:100; background:rgba(13,13,15,.8);
  backdrop-filter:blur(16px) saturate(140%); -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--border); }
.nav-inner{ max-width:1100px; margin-inline:auto; padding:0 var(--gutter);
  height:70px; display:flex; align-items:center; justify-content:space-between; }
.logo{ display:inline-flex; align-items:center; gap:11px; }
.logo-mark{ width:38px; height:38px; flex:none; }
.logo-word{ display:flex; flex-direction:column; line-height:1; }
.logo-kbs{ font-family:var(--font-display); font-weight:900; font-size:1.24rem; color:var(--text); letter-spacing:.02em; }
.logo-tag{ font-family:var(--font-display); font-weight:700; font-size:.56rem; letter-spacing:.42em; color:var(--accent); margin-top:3px; }
.back-link{ display:inline-flex; align-items:center; gap:8px; font-family:var(--font-body); font-weight:500; font-size:.92rem; color:var(--text-dim); }
.back-link:hover{ color:var(--text); }
.back-link svg{ width:17px; height:17px; }

/* Header */
.legal-header{ position:relative; padding:clamp(56px,9vw,96px) 0 clamp(30px,5vw,48px); overflow:hidden; }
.legal-header::before{ content:""; position:absolute; width:480px; height:480px; border-radius:50%;
  filter:blur(100px); background:radial-gradient(circle,rgba(240,160,48,.28),transparent 68%);
  top:-220px; right:-140px; pointer-events:none; }
.legal-header .eyebrow{ display:inline-flex; align-items:center; gap:9px; font-size:.72rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--accent); padding:7px 13px;
  border:1px solid rgba(240,160,48,.28); border-radius:999px; background:rgba(240,160,48,.06); }
.legal-header .eyebrow::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 10px var(--glow); }
.legal-header h1{ font-family:var(--font-display); font-weight:900; letter-spacing:-.02em; line-height:1.05;
  font-size:clamp(2rem,5.4vw,3.2rem); margin:22px 0 14px; }
.legal-header .updated{ color:var(--text-dimmer); font-size:.9rem; }

/* Content */
.legal-content{ padding-bottom:clamp(60px,9vw,110px); }
.legal-content section{ padding-top:38px; }
.legal-content h2{ font-family:var(--font-display); font-weight:800; letter-spacing:-.01em;
  font-size:clamp(1.25rem,2.6vw,1.6rem); margin-bottom:16px; display:flex; align-items:baseline; gap:12px; }
.legal-content h2 .n{ font-size:.85rem; font-weight:700; color:var(--accent); font-family:var(--font-body); }
.legal-content h3{ font-family:var(--font-display); font-weight:700; font-size:1.05rem; margin:22px 0 8px; color:var(--text); }
.legal-content p{ color:var(--text-dim); margin-bottom:14px; }
.legal-content p strong,.legal-content li strong{ color:var(--text); font-weight:600; }
.legal-content ul{ list-style:none; margin:0 0 14px; padding:0; }
.legal-content ul li{ position:relative; padding-left:22px; margin-bottom:10px; color:var(--text-dim); }
.legal-content ul li::before{ content:""; position:absolute; left:2px; top:11px; width:7px; height:7px;
  border-radius:50%; background:var(--accent-deep); }
.legal-content a{ font-weight:500; }

/* Info card (identity block) */
.info-card{ border:1px solid var(--border); background:linear-gradient(180deg,var(--surface),var(--bg-2));
  border-radius:16px; padding:24px 26px; margin-top:6px; }
.info-row{ display:flex; flex-wrap:wrap; gap:6px 14px; padding:11px 0; border-bottom:1px solid var(--border); }
.info-row:last-child{ border-bottom:none; }
.info-row .k{ flex:0 0 200px; color:var(--text-dimmer); font-size:.9rem; }
.info-row .v{ flex:1 1 220px; color:var(--text); font-weight:500; }
.todo{ color:var(--accent-deep); font-weight:600; }

/* Footer */
.legal-footer{ border-top:1px solid var(--border); background:var(--bg-2); padding:34px 0; }
.legal-footer .inner{ max-width:1100px; margin-inline:auto; padding:0 var(--gutter);
  display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; align-items:center;
  color:var(--text-dimmer); font-size:.85rem; }
.legal-footer .inner a{ color:var(--text-dim); }
.legal-footer .inner a:hover{ color:var(--accent); }
.legal-footer nav{ display:flex; gap:20px; flex-wrap:wrap; }

@media (max-width:520px){
  .info-row .k{ flex-basis:100%; }
}
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
