/* Miziba — Shared stylesheet for legal/policy pages */
:root {
  --near-black: #0A0F0D;
  --forest-green: #1B5E20;
  --gold: #C9A84C;
  --gold-soft: #B8973F;
  --gold-deep:#A88B3A;
  --warm-grey: #616161;
  --paper: #FBF9F2;
  --paper-warm: #F5F1E5;
  --paper-deep: #EFEAD7;
  --serif: 'Source Serif 4', 'Source Serif Pro', 'Liberation Serif', Georgia, serif;
  --sans: 'Inter', 'Liberation Sans', -apple-system, sans-serif;
  --mono: 'JetBrains Mono', 'Liberation Mono', monospace;
  --max-width: 1400px;
  --gutter: clamp(20px, 5vw, 80px);
  --reveal-ease: cubic-bezier(0.16, 1, 0.3, 1);
}
@media (max-width: 600px) { :root { --gutter: 24px; } }
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--sans); background: var(--paper); color: var(--near-black); -webkit-font-smoothing: antialiased; font-feature-settings: "kern", "liga", "ss01"; line-height: 1.6; overflow-x: hidden; }
::selection { background: var(--gold); color: var(--near-black); }
a { color: inherit; text-decoration: none; }
.skip-link { position: absolute; left: -9999px; top: 0; background: var(--near-black); color: var(--paper); padding: 12px 20px; font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; z-index: 200; }
.skip-link:focus { left: 12px; top: 12px; outline: 2px solid var(--gold); }

/* HERO (smaller than main site) */
.legal-hero { background: var(--near-black); color: var(--paper); padding: 96px var(--gutter) 80px; position: relative; overflow: hidden; }
.legal-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 50% 35% at 80% 30%, rgba(201,168,76,0.08), transparent 70%), radial-gradient(ellipse 60% 40% at 15% 70%, rgba(27,94,32,0.14), transparent 70%); pointer-events: none; }
.legal-hero .container-narrow { max-width: 880px; margin: 0 auto; position: relative; z-index: 2; }
.legal-tag { display: flex; align-items: center; gap: 14px; font-size: 11px; letter-spacing: 0.36em; color: var(--gold); text-transform: uppercase; font-weight: 600; margin-bottom: 24px; }
.legal-tag::before { content: ""; display: inline-block; width: 28px; height: 1px; background: var(--gold); }
.legal-h1 { font-family: var(--serif); font-weight: 300; font-size: clamp(40px, 5.5vw, 72px); line-height: 1.04; letter-spacing: -0.02em; color: var(--paper); margin-bottom: 28px; font-variation-settings: "opsz" 144; }
.legal-h1 .em { font-style: italic; color: var(--gold); }
.legal-meta { display: flex; gap: 32px; padding-top: 24px; border-top: 1px solid rgba(201,168,76,0.22); font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em; color: rgba(251,249,242,0.55); text-transform: uppercase; flex-wrap: wrap; }
.legal-meta strong { color: var(--gold); font-weight: 500; }

/* BODY */
main { background: var(--paper); }
.legal-body { max-width: 760px; margin: 0 auto; padding: 96px var(--gutter); }
.legal-body .intro { font-family: var(--serif); font-style: italic; font-weight: 300; font-size: clamp(18px, 1.8vw, 22px); line-height: 1.55; color: var(--warm-grey); margin-bottom: 48px; padding-bottom: 32px; border-bottom: 1px solid rgba(0,0,0,0.1); font-feature-settings: "ss01"; }
.legal-body h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(24px, 2.8vw, 34px); line-height: 1.2; letter-spacing: -0.012em; color: var(--near-black); margin: 56px 0 18px; padding-top: 14px; border-top: 1px solid rgba(201,168,76,0.3); display: flex; align-items: baseline; gap: 16px; }
.legal-body h2 .num { font-family: var(--mono); font-size: 12px; letter-spacing: 0.18em; color: var(--gold-deep); font-weight: 500; min-width: 40px; }
.legal-body h2:first-of-type { margin-top: 0; }
.legal-body h3 { font-family: var(--sans); font-weight: 600; font-size: 16px; color: var(--near-black); margin: 28px 0 10px; letter-spacing: -0.005em; }
.legal-body p { font-size: 16px; line-height: 1.7; color: var(--near-black); margin-bottom: 16px; }
.legal-body p strong { font-weight: 600; }
.legal-body em { font-style: italic; color: var(--gold-deep); }
.legal-body ul, .legal-body ol { margin: 12px 0 20px 24px; }
.legal-body li { font-size: 16px; line-height: 1.7; color: var(--near-black); margin-bottom: 10px; }
.legal-body li::marker { color: var(--gold-deep); }
.legal-body a { color: var(--gold-deep); border-bottom: 1px solid var(--gold-deep); transition: color 200ms ease; text-decoration: none; }
.legal-body a:hover { color: var(--gold); border-bottom-color: var(--gold); }
.legal-body .callout { padding: 24px 28px; background: var(--paper-warm); border-left: 3px solid var(--gold); margin: 24px 0; }
.legal-body .callout p:last-child { margin-bottom: 0; }
.legal-body .contact-block { padding: 28px 32px; background: var(--paper-warm); border: 1px solid rgba(201,168,76,0.25); margin: 32px 0; }
.legal-body .contact-block strong { display: block; margin-bottom: 6px; }
.legal-body .contact-block p { font-size: 15px; margin-bottom: 4px; }
.legal-body .small { font-size: 13.5px; color: var(--warm-grey); margin-top: 24px; padding-top: 18px; border-top: 1px solid rgba(0,0,0,0.1); }

/* FOOTER (matches main site) */
footer { background: var(--near-black); color: var(--paper); padding: 80px var(--gutter) 32px; border-top: 1px solid rgba(201,168,76,0.2); }
.footer-grid { max-width: var(--max-width); margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 56px; border-bottom: 1px solid rgba(201,168,76,0.18); }
@media (max-width: 920px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 580px) { .footer-grid { grid-template-columns: 1fr; gap: 36px; } }
.footer-brand .ftr-mark { font-family: var(--serif); font-weight: 300; font-size: 28px; letter-spacing: 0.42em; margin-bottom: 4px; color: var(--paper); }
.footer-brand .ftr-tagline { font-size: 10px; letter-spacing: 0.32em; color: var(--gold-soft); text-transform: uppercase; font-weight: 500; margin-bottom: 24px; }
.footer-brand p { font-size: 13px; line-height: 1.65; color: rgba(251,249,242,0.55); max-width: 360px; }
footer h4 { font-size: 10px; letter-spacing: 0.36em; color: var(--gold); text-transform: uppercase; font-weight: 600; margin-bottom: 18px; }
footer ul { list-style: none; }
footer li { font-size: 13.5px; color: rgba(251,249,242,0.6); line-height: 1.85; }
footer li a { color: inherit; transition: color 200ms ease; text-decoration: none; }
footer li a:hover { color: var(--gold); }
.footer-bottom { max-width: var(--max-width); margin: 32px auto 0; display: flex; justify-content: space-between; align-items: center; font-size: 10px; letter-spacing: 0.18em; color: rgba(251,249,242,0.4); text-transform: uppercase; font-family: var(--mono); flex-wrap: wrap; gap: 12px; }
.footer-bottom .links { display: flex; gap: 24px; flex-wrap: wrap; }
.footer-bottom .links a { transition: color 200ms ease; text-decoration: none; color: inherit; }
.footer-bottom .links a:hover { color: var(--gold); }
.footer-bottom .reg { color: rgba(251,249,242,0.55); }
@media (max-width: 720px) { .footer-bottom { flex-direction: column; align-items: flex-start; } }
@media (max-width: 600px) { .legal-body { padding: 64px 24px; } .legal-hero { padding: 72px 24px 64px; } }
