/* Filipa Azevedo — legal pages (tokens mirror index.html) */
:root {
  --paper: #FAF8F4; --card: #FFFFFF; --ink: #232B2F; --ink-soft: #4A555B; --muted: #8A8F8C;
  --line-soft: rgba(35, 43, 47, 0.06); --blue: #2f8999; --blue-deep: #226877; --blue-line: rgba(47, 137, 153, 0.28);
  --serif: "Fraunces", Georgia, serif; --sans: "Geist", system-ui, -apple-system, sans-serif;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: var(--sans); background: var(--paper); color: var(--ink); line-height: 1.7; font-size: 16px; overflow-x: clip; -webkit-font-smoothing: antialiased; }
::selection { background: rgba(47, 137, 153, 0.18); }
h1, h2 { font-family: var(--serif); font-weight: 420; letter-spacing: -0.01em; line-height: 1.12; }
a { color: inherit; }

nav {
  position: fixed; top: 18px; left: 50%; transform: translateX(-50%); z-index: 50;
  display: flex; align-items: center; gap: clamp(14px, 3vw, 34px);
  padding: 10px 12px 10px 22px; border-radius: 999px;
  background: rgba(255, 255, 255, 0.82); border: 1px solid rgba(35, 43, 47, 0.08);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 12px 40px -18px rgba(35, 43, 47, 0.18), inset 0 1px 0 rgba(255,255,255,0.8);
  white-space: nowrap;
}
.nav-name { font-family: var(--serif); font-size: 16.5px; font-weight: 560; text-decoration: none; letter-spacing: -0.01em; }
.nav-name i { font-style: italic; font-weight: 420; color: var(--blue); }
.nav-cta { font-size: 13.5px; font-weight: 600; text-decoration: none; color: #fff; background: var(--blue); padding: 10px 20px; border-radius: 999px; transition: background-color 0.25s var(--ease); }
.nav-cta:hover { background: var(--blue-deep); }

.eyebrow { font-size: 11.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--blue); display: flex; align-items: center; gap: 10px; }
.eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--blue-line); }

.legal-head { max-width: 780px; margin: 0 auto; padding: clamp(130px, 14vw, 168px) clamp(20px, 5vw, 60px) clamp(36px, 5vw, 54px); }
.legal-head a.back { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; color: var(--blue-deep); text-decoration: none; margin-bottom: 28px; }
.legal-head h1 { margin-top: 16px; font-size: clamp(2rem, 4.4vw, 2.9rem); }
.legal-head .updated { margin-top: 14px; font-size: 13.5px; color: var(--muted); }

.legal-body { max-width: 780px; margin: 0 auto; padding: 0 clamp(20px, 5vw, 60px) clamp(90px, 10vw, 130px); line-height: 1.85; color: var(--ink-soft); }
.legal-body h2 { margin-top: 2.2em; font-size: 1.3rem; color: var(--ink); }
.legal-body h2:first-child { margin-top: 0; }
.legal-body p, .legal-body li { margin-top: 1em; }
.legal-body ul { padding-left: 1.3em; }
.legal-body a { color: var(--blue-deep); }
.legal-body strong { color: var(--ink); font-weight: 600; }

footer { border-top: 1px solid var(--line-soft); padding: 30px clamp(20px, 5vw, 64px); font-size: 12.5px; color: var(--muted); background: var(--card); }
.foot, .foot-legal { max-width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 10px 32px; justify-content: space-between; }
.foot-legal { margin-top: 14px; justify-content: flex-start; gap: 8px 24px; }
footer a { color: var(--ink-soft); text-decoration: none; }
.foot-legal a { color: var(--muted); }
footer a:hover { color: var(--blue-deep); }

@media (max-width: 520px) { nav { padding-left: 16px; } .nav-cta { padding: 9px 15px; font-size: 13px; } }
