:root {
  --bg: #fffcf5;
  --card: #f4efe3;
  --text: #173323;
  --text-secondary: #5b675c;
  --primary: #2e7d32;
  --primary-dark: #173f29;
  --footer-bg: #112e1f;
  --footer-text: #f4f6eb;
  --footer-heading: #f4f6eb;
  --footer-border: rgba(255,255,255,.16);
}
html[data-theme='dark'] {
  --bg: #112e1f;
  --card: #1a3928;
  --bg-alt: #1a3928;
  --text: #f4f6eb;
  --text-secondary: #c1d2c4;
  --primary: #a9d5a0;
  --primary-dark: #81bd7d;
  --border: rgba(255,255,255,.18);
  --divider: rgba(255,255,255,.16);
  --mobile-nav-bg: #112e1f;
  --footer-bg: #0c2417;
}
body { font-family: 'DM Sans', system-ui, sans-serif; }
.navbar, .navbar.scrolled { padding: 17px 0; background: var(--bg); box-shadow: none; border-bottom: 1px solid var(--divider); }
.navbar .container { max-width: 1360px; }
.logo { gap: 0; color: var(--text); font-size: 1.1rem; font-weight: 700; letter-spacing: .14em; }
.logo::after { content: '.'; color: var(--primary); }
.logo-icon { display: none; }
.nav-links a { color: var(--text); font-family: 'DM Sans', system-ui, sans-serif; font-size: .86rem; font-weight: 700; }
.lang-toggle { border: 1px solid var(--border); background: transparent; border-radius: 0; }
.lang-btn, .lang-btn.active { border-radius: 0; }
.lang-btn.active { background: var(--primary-dark); }
.theme-toggle { border-radius: 0; }
.legal-page { padding: 150px 0 115px; }
.legal-content { max-width: 820px; }
.legal-content h1 { margin-bottom: 20px; font-family: 'Fraunces', Georgia, serif; font-size: clamp(3.3rem, 6vw, 5.6rem); font-weight: 500; letter-spacing: -.055em; line-height: 1.07; }
.legal-last-updated { margin-bottom: 54px; padding-bottom: 28px; }
.legal-section { margin-bottom: 48px; }
.legal-section h2 { border: 0; border-top: 1px solid var(--divider); padding: 25px 0 0; font-family: 'Fraunces', Georgia, serif; font-size: clamp(1.55rem, 2.5vw, 2.05rem); font-weight: 500; letter-spacing: -.025em; }
.legal-section h3 { font-family: 'DM Sans', system-ui, sans-serif; }
.legal-section p, .legal-section li { font-size: .97rem; line-height: 1.78; }
.legal-company-info { border-radius: 0; }
.footer { background: var(--footer-bg); padding-top: 72px; }
.footer-grid { gap: 42px; margin-bottom: 70px; }
.footer-brand .logo { margin-bottom: 18px; color: #f4f6eb; }
.footer-brand p, .footer-col a, .footer-bottom { color: #b6cbbc; }
.footer-col h4 { color: #f4f6eb; }
.footer-col a:hover, .footer-bottom a:hover { color: #fff; }
.scroll-top { border-radius: 0; background: var(--primary-dark); }
:focus-visible { outline: 3px solid #c86c3e; outline-offset: 4px; }
@media (max-width: 768px) {
  .nav-links.open { background: var(--bg); box-shadow: 0 10px 30px rgba(0,0,0,.1); }
  .legal-page { padding: 125px 0 70px; }
  .legal-content h1 { font-size: clamp(2.8rem, 11vw, 4rem); }
  .legal-section h2 { font-size: 1.55rem; }
  .footer { padding-top: 60px; }
}
