/* ═══════════════════════════════════════════════════════════════
   QuantumThought Lab — legal.css (Light Theme)
   ═══════════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: #FAFAF8;
  color: #1C1A2E;
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

a { color: #C8820C; text-decoration: none; transition: opacity 0.2s ease; }
a:hover { opacity: 0.75; }

/* NAV */
.l-nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 clamp(20px, 5vw, 80px); height: 68px;
  border-bottom: 1px solid #E5E2DC;
  background: rgba(250,250,248,0.95);
  position: sticky; top: 0; z-index: 100;
  backdrop-filter: blur(16px);
  box-shadow: 0 1px 3px rgba(28,26,46,0.06);
}

.l-logo { display: flex; align-items: center; gap: 8px; }
.l-logo .logo-mark { width: 24px; height: 24px; }

.l-logo-wordmark {
  font-family: 'DM Sans', sans-serif; font-weight: 700;
  font-size: 14.5px; letter-spacing: -0.025em; color: #1C1A2E;
}
.l-logo-wordmark em { font-style: normal; color: #C8820C; }

.l-back {
  font-size: 13.5px; font-weight: 600; color: #6B6880;
  transition: color 0.2s ease;
}
.l-back:hover { color: #1C1A2E; opacity: 1; }

/* LAYOUT */
.l-main { min-height: calc(100vh - 68px - 80px); padding: 72px 0 96px; }
.l-container { max-width: 760px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 48px); }

/* HEADER */
.l-header { margin-bottom: 56px; padding-bottom: 40px; border-bottom: 1px solid #E5E2DC; }
.l-label {
  font-size: 10px; font-weight: 800; letter-spacing: 0.22em;
  color: #C8820C; margin-bottom: 16px; text-transform: uppercase;
  display: flex; align-items: center; gap: 8px;
}
.l-label::before { content: ''; display: block; width: 20px; height: 1.5px; background: #C8820C; border-radius: 1px; }
.l-header h1 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(38px, 5.5vw, 60px);
  font-weight: 700; letter-spacing: -0.025em; line-height: 1.06;
  color: #1C1A2E; margin-bottom: 12px;
}
.l-meta { font-size: 13px; color: #9E9BAC; }

/* BODY */
.l-body { display: flex; flex-direction: column; }
.l-body > * + * { margin-top: 18px; }
.l-body p { font-size: 15px; color: #6B6880; line-height: 1.8; }
.l-body h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(20px, 3vw, 28px); font-weight: 700;
  letter-spacing: -0.02em; color: #1C1A2E;
  margin-top: 48px !important; padding-top: 28px;
  border-top: 1px solid #E5E2DC;
}
.l-body h2:first-child { border-top: none; padding-top: 0; margin-top: 0 !important; }
.l-body h3 { font-size: 15px; font-weight: 700; color: #1C1A2E; margin-top: 26px !important; }
.l-body ul { padding-left: 0; display: flex; flex-direction: column; gap: 10px; }
.l-body ul li { font-size: 14.5px; color: #6B6880; line-height: 1.7; padding-left: 20px; position: relative; }
.l-body ul li::before { content: '—'; position: absolute; left: 0; color: #C8820C; font-size: 11px; top: 4px; }
.l-body strong { color: #1C1A2E; font-weight: 600; }

.l-contact-box {
  background: rgba(200,130,12,0.06); border: 1px solid rgba(200,130,12,0.22);
  border-radius: 8px; padding: 22px 26px; font-size: 15px;
  color: #3D3A52; line-height: 1.8; margin-top: 26px !important;
}

/* TABLE */
.l-table-wrap { overflow-x: auto; margin-top: 18px !important; border: 1px solid #E5E2DC; border-radius: 8px; }
.l-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.l-table th, .l-table td { padding: 13px 18px; text-align: left; border-bottom: 1px solid #E5E2DC; line-height: 1.5; }
.l-table th { font-size: 10.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #9E9BAC; background: #F4F2EE; }
.l-table tr:last-child td { border-bottom: none; }
.l-table td { color: #6B6880; vertical-align: top; }
.l-table td strong { color: #1C1A2E; }

/* FOOTER */
.l-footer { background: #181520; border-top: 1px solid rgba(255,255,255,0.07); padding: 26px 0; }
.l-footer .l-container {
  max-width: 1200px; display: flex; align-items: center;
  justify-content: space-between; gap: 20px; flex-wrap: wrap;
  font-size: 12.5px; color: rgba(255,255,255,0.3);
}
.l-footer-links { display: flex; gap: 22px; flex-wrap: wrap; }
.l-footer-links a { color: rgba(255,255,255,0.3); font-size: 12.5px; transition: color 0.2s ease; }
.l-footer-links a:hover { color: rgba(255,255,255,0.65); opacity: 1; }

@media (max-width: 600px) {
  .l-footer .l-container { flex-direction: column; align-items: flex-start; }
  .l-footer-links { gap: 12px; }
}
