:root {
  --bg: #FFFFFF;
  --ink: #080808;
  --ink-2: #6F6A61;
  --line: #E8E6E0;
  --f-display: "Fahkwang", "Times New Roman", serif;
  --f-sans: "Montserrat", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --pad-x: clamp(20px, 5vw, 64px);
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--f-sans);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }

.legal-hdr {
  position: sticky; top: 0; z-index: 5; background: var(--bg);
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px var(--pad-x);
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
.brand-mark { display: flex; flex-direction: column; line-height: 1; }
.brand-name {
  font-family: var(--f-display); font-weight: 400;
  font-size: 22px; letter-spacing: 0; text-transform: lowercase;
}
.brand-sub {
  font-family: var(--f-sans); font-size: 9px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--ink-2); margin-top: 6px;
}
.legal-hdr .back {
  font-family: var(--f-sans); font-size: 11px; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--ink-2);
  border-bottom: 1px solid transparent; padding-bottom: 2px;
}
.legal-hdr .back:hover { color: var(--ink); border-bottom-color: var(--ink); }

.legal-page {
  max-width: 720px;
  margin: 0 auto;
  padding: clamp(40px, 6vw, 80px) var(--pad-x) clamp(60px, 8vw, 120px);
}
.legal-page h1 {
  font-family: var(--f-display); font-weight: 400;
  font-size: clamp(36px, 5vw, 56px); line-height: 1.05;
  margin: 0 0 8px; text-transform: lowercase;
}
.legal-page .updated {
  font-family: var(--f-sans); font-size: 11px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--ink-2);
  margin: 0 0 clamp(28px, 4vw, 48px);
}
.legal-page h2 {
  font-family: var(--f-display); font-weight: 500;
  font-size: clamp(18px, 1.6vw, 22px);
  margin: clamp(28px, 3vw, 40px) 0 10px; text-transform: lowercase;
}
.legal-page p, .legal-page li {
  font-size: 14px; line-height: 1.65; margin: 0 0 12px;
}
.legal-page ul { padding-left: 18px; margin: 0 0 12px; }
.legal-page a { border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.legal-page strong { font-weight: 600; }

.legal-foot {
  display: flex; justify-content: space-between; align-items: center;
  padding: 20px var(--pad-x);
  border-top: 1px solid rgba(0,0,0,0.08);
  font-family: var(--f-sans); font-size: 10px; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--ink-2);
  flex-wrap: wrap; gap: 12px;
}
.legal-foot .legal-links { display: flex; gap: 18px; }
.legal-foot a:hover { color: var(--ink); }

/* ---------- WhatsApp floating action button ---------- */
.wa-fab {
  position: fixed;
  right: clamp(14px, 2.4vw, 22px);
  bottom: clamp(14px, 2.4vw, 22px);
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #0A0A0A;
  color: #FFFFFF;
  display: flex; align-items: center; justify-content: center;
  z-index: 120;
  box-shadow: 0 10px 28px rgba(0,0,0,0.22), 0 2px 4px rgba(0,0,0,0.10);
  transition: transform 220ms ease, background 220ms ease, box-shadow 220ms ease;
  text-decoration: none;
  border: 0; cursor: pointer;
}
.wa-fab:hover {
  transform: translateY(-2px);
  background: #000;
  box-shadow: 0 14px 32px rgba(0,0,0,0.28), 0 2px 4px rgba(0,0,0,0.12);
}
.wa-fab:active { transform: translateY(0); }
.wa-fab svg { width: 26px; height: 26px; display: block; }
@media (max-width: 480px) {
  .wa-fab { width: 52px; height: 52px; }
  .wa-fab svg { width: 24px; height: 24px; }
}
