/* ============================================================
   ROUTE PILOT PRO — Legal pages (privacy / terms)
   Tokens mirror lib/core/theme/ and docs/design/colors_and_type.css
   ============================================================ */
:root{
  --navy-200:#AFC0CC;--navy-300:#7C95A6;--navy-400:#517488;--navy-700:#1C3144;
  --navy-800:#142532;--navy-900:#0C1620;
  --green-400:#88BC49;--green-600:#5F9425;--green-700:#4B7A1B;
  --slate-200:#E2E8F0;--slate-300:#CBD5E1;--slate-400:#94A3B8;--slate-500:#64748B;
  --slate-600:#475569;--slate-700:#334155;
  --bg-app:#F5F7FA;--bg-surface:#FFFFFF;
  --warning:#C57E12;--warning-bg:#FBEFD8;
  --sign-yellow:#F4C20D;--sign-ink:#13110A;
  --fg-1:var(--navy-700);--fg-2:var(--slate-600);
  --border-1:var(--slate-200);
  --font-display:"Overpass",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --font-text:"Overpass",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --font-mono:"Overpass Mono",ui-monospace,Menlo,monospace;
  --shadow-e1:0 1px 0 rgba(12,22,32,.04);
  --hazard-warning:repeating-linear-gradient(45deg,var(--warning) 0 6px,var(--sign-yellow) 6px 12px);
  --ease-standard:cubic-bezier(.2,0,0,1);--dur-fast:120ms;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:var(--font-text);font-size:15px;line-height:23px;color:var(--fg-1);
  background:var(--bg-app);-webkit-font-smoothing:antialiased;
}
a{color:var(--green-700);text-decoration:none;}
a:hover{text-decoration:underline;}
.container{max-width:760px;margin:0 auto;padding:0 24px;}

/* topbar */
.topbar{
  position:sticky;top:0;z-index:50;background:rgba(12,22,32,.88);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.topbar-inner{max-width:1140px;margin:0 auto;padding:0 24px;display:flex;align-items:center;min-height:64px;}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;}
.brand:hover{text-decoration:none;}
.brand img{width:36px;height:36px;border-radius:9px;display:block;}
.brand .nm{font-family:var(--font-display);font-weight:900;font-style:italic;font-size:17px;letter-spacing:.015em;color:#fff;text-transform:uppercase;}
.brand .nm em{font-style:inherit;color:var(--green-400);}
.brand .pro{
  font-family:var(--font-display);font-weight:800;font-style:italic;font-size:10.5px;letter-spacing:.08em;
  background:var(--green-600);color:#fff;border-radius:4px;padding:2px 6px 1px;margin-left:2px;text-transform:uppercase;
}
.back{
  margin-left:auto;font-family:var(--font-mono);font-size:11.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--navy-200);
  transition:color var(--dur-fast) var(--ease-standard);
}
.back:hover{color:#fff;text-decoration:none;}

/* navy page header with surveyor grid */
.page-head{
  background:var(--navy-900);color:#fff;padding:56px 0 48px;
  background-image:linear-gradient(rgba(125,149,166,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(125,149,166,.13) 1px,transparent 1px);
  background-size:44px 44px;border-bottom:3px solid var(--green-600);
}
.eyebrow{
  font-family:var(--font-mono);font-size:12px;line-height:16px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--green-400);
  display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--green-600);}
.page-head h1{
  font-family:var(--font-display);font-size:40px;line-height:44px;font-weight:900;
  letter-spacing:-.02em;color:#fff;margin:16px 0 10px;
}
.page-head .meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy-300);}

/* prose */
main{padding:56px 0 80px;}
.prose h2{
  font-family:var(--font-display);font-size:22px;line-height:28px;font-weight:800;
  letter-spacing:-.01em;color:var(--fg-1);margin:40px 0 12px;scroll-margin-top:88px;
}
.prose h2:first-child{margin-top:0;}
.prose h2 .num{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--slate-400);margin-right:10px;}
.prose p{color:var(--fg-2);margin:0 0 14px;}
.prose ul{margin:0 0 14px 0;padding-left:0;list-style:none;display:grid;gap:8px;}
.prose li{color:var(--fg-2);padding-left:22px;position:relative;}
.prose li::before{
  content:"";position:absolute;left:2px;top:9px;width:8px;height:2px;background:var(--green-600);
}
.prose b,.prose strong{color:var(--fg-1);}
.prose .mono{font-family:var(--font-mono);font-size:13.5px;letter-spacing:.02em;}

/* flat printed notice placard (per comp-cards: no soft shadow, hazard edge) */
.notice{border-radius:10px;display:flex;overflow:hidden;margin:24px 0;background:var(--warning-bg);box-shadow:inset 0 0 0 1.5px rgba(197,126,18,.27);}
.notice .stripe{width:8px;flex:none;opacity:.9;background:var(--hazard-warning);}
.notice .body{padding:13px 15px;}
.notice .t{font-family:var(--font-display);font-weight:800;font-size:15px;color:var(--warning);margin-bottom:3px;}
.notice .d{font-size:13.5px;color:var(--slate-700);line-height:19px;}

/* contact card */
.contact-card{
  background:var(--bg-surface);border:1px solid var(--border-1);border-left:3px solid var(--green-600);
  border-radius:12px;padding:18px 20px;margin-top:32px;box-shadow:var(--shadow-e1);
}
.contact-card .k{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slate-500);margin-bottom:6px;}
.contact-card .v{font-family:var(--font-mono);font-size:14px;font-weight:700;}

/* footer */
footer{background:var(--navy-900);color:var(--navy-300);padding:28px 0;}
.foot-inner{
  max-width:1140px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;
  gap:16px;flex-wrap:wrap;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
}
.foot-inner a{color:var(--navy-200);}
.foot-inner a:hover{color:#fff;}
@media (max-width:560px){.page-head h1{font-size:30px;line-height:34px;}}
