/* Legal pages — same design system as the site, not a lookalike.
   Type scale, card material, nav lockup and colours all come straight from
   WorthAI Website.dc.html so the two never drift apart.
   Self-hosted font, so these pages make no third-party request either. */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400 800;
  font-display:swap;src:url('assets/fonts/plus-jakarta-sans.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:400;
  font-display:swap;src:url('assets/fonts/plus-jakarta-sans-italic.woff2') format('woff2')}

:root{
  --ink:#121215; --ink2:#3f434b; --ink3:#4A5565; --ink4:#6E747D;
  --line:#eceef1; --line2:#e3e5e9; --worth:#0F7B5A; --gut:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
img{display:block}

/* ── nav: identical recipe to the site (bg-white/20 + blur, 100px) ── */
.lg-nav{position:sticky;top:0;z-index:60;height:100px;display:flex;
  align-items:center;justify-content:space-between;gap:24px;
  max-width:1320px;margin:0 auto;padding:0 var(--gut);
  background:rgba(255,255,255,.2);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.lg-brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.lg-brand img{width:42px;height:42px;border-radius:11px}
.lg-brand span{font-size:26px;font-weight:800;letter-spacing:-.045em}
.lg-nav-links{display:flex;gap:28px;font-size:16.5px;font-weight:600;white-space:nowrap}
.lg-nav-links a{text-decoration:none;color:var(--ink)}
.lg-nav-links a:hover{text-decoration:underline;text-underline-offset:5px}
.lg-nav-links a[aria-current="page"]{text-decoration:underline;
  text-underline-offset:5px;text-decoration-thickness:1.5px}

/* ── page ── */
.lg-wrap{max-width:780px;margin:0 auto;padding:40px var(--gut) 84px}
.lg-eyebrow{margin:0;font-size:12.5px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--worth)}
h1{margin:14px 0 0;font-size:49px;line-height:1.14;font-weight:700;letter-spacing:-.03em}
.lg-sub{margin:14px 0 0;font-size:16.5px;line-height:1.55;color:var(--ink4)}

/* ── masthead facts: the site's card material ── */
.lg-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;
  margin:32px 0 0;padding:6px;background:#fff;border-radius:28px;
  box-shadow:0 1px 20px 1px rgba(228,229,233,.55)}
.lg-meta>div{padding:16px 20px}
.lg-meta dt{font-size:10.5px;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink4)}
.lg-meta dd{margin:5px 0 0;font-size:15.5px;font-weight:700;word-break:break-word}
.lg-meta a{color:var(--worth)}

/* ── long-form body ── */
.lg-body{margin-top:42px;font-size:16px;line-height:1.74;color:var(--ink3)}
.lg-body h2{margin:46px 0 0;font-size:24px;line-height:1.25;font-weight:700;
  letter-spacing:-.022em;color:var(--ink);scroll-margin-top:118px}
.lg-body h2+p,.lg-body h2+ul{margin-top:12px}
.lg-body h3{margin:30px 0 0;font-size:17px;font-weight:700;color:var(--ink)}
.lg-body h3+p,.lg-body h3+ul{margin-top:8px}
.lg-body p{margin:16px 0 0}
.lg-body ul{margin:14px 0 0;padding-left:22px}
.lg-body li{margin:9px 0 0}
.lg-body li::marker{color:#c3c8d0}
.lg-body a{color:var(--worth);text-underline-offset:3px}
.lg-body strong{color:var(--ink)}

.lg-foot{margin:58px 0 0;padding-top:26px;border-top:1px solid var(--line);
  font-size:15px;color:var(--ink4)}
.lg-foot a{color:var(--worth)}

.lg-bottom{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
  max-width:780px;margin:0 auto;padding:24px var(--gut) 52px;
  font-size:13.5px;color:var(--ink4)}
.lg-bottom a{color:var(--ink4)}

@media (max-width:820px){
  .lg-nav{height:82px}
  .lg-nav-links{font-size:14.5px;gap:18px}
  .lg-brand span{font-size:22px}
  .lg-brand img{width:36px;height:36px}
}
@media (max-width:640px){
  :root{--gut:18px}
  h1{font-size:34px}
  .lg-meta{grid-template-columns:1fr}
  .lg-body{font-size:15.5px}
  .lg-nav-links a:not([aria-current]){display:none}
}

/* ── consent notice: black buttons, site radii ── */
#cc-main{
  --cc-font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  --cc-bg:#ffffff;
  --cc-primary-color:#121215;
  --cc-secondary-color:#4A5565;
  --cc-btn-primary-bg:#111318;
  --cc-btn-primary-color:#ffffff;
  --cc-btn-primary-border-color:#111318;
  --cc-btn-primary-hover-bg:#000000;
  --cc-btn-primary-hover-color:#ffffff;
  --cc-btn-secondary-bg:#f2f3f5;
  --cc-btn-secondary-color:#121215;
  --cc-btn-secondary-border-color:#f2f3f5;
  --cc-btn-secondary-hover-bg:#e7e9ec;
  --cc-btn-border-radius:12px;
  --cc-modal-border-radius:22px;
  --cc-toggle-on-bg:#111318;
  --cc-link-color:#0F7B5A;
  --cc-separator-border-color:#eceef1;
  --cc-modal-box-shadow:0 8px 40px 2px rgba(20,20,40,.18);
}

/* ── Document set to calai.app's measured proportions, in the site's own skin.
   Nav (logo, links, blur) and Plus Jakarta stay exactly as the site has them.
   Measured off calai.app/privacy at 375px: body 16px/1.6 #333, h1 32/1.6/700,
   h2 28/1.6/700, links #0066ee. No green anywhere in the document. */
.lg-eyebrow, .lg-sub { display: none; }

h1 { margin: 6px 0 16px; font-size: 32px; line-height: 1.6; font-weight: 700; letter-spacing: normal; }


.lg-body { margin-top: 28px; font-size: 16px; line-height: 1.6; color: #333; }
.lg-body h2 { margin: 40px 0 16px; font-size: 28px; line-height: 1.6; font-weight: 700; letter-spacing: normal; color: #222; }
.lg-body h3 { margin: 28px 0 12px; font-size: 20px; line-height: 1.6; font-weight: 700; color: #222; }
.lg-body h2 + p, .lg-body h2 + ul, .lg-body h3 + p, .lg-body h3 + ul { margin-top: 0; }
.lg-body p { margin: 0 0 16px; }
.lg-body ul { margin: 0 0 16px; padding-left: 22px; }
.lg-body li { margin: 0 0 8px; }
.lg-body a { color: #0066ee; }

/* The site accent is green; these pages keep every link off it. */
.lg-nav-links a[aria-current="page"] { color: var(--ink); text-decoration-color: var(--ink); }
.lg-foot a { color: #333; }


.lg-updated { margin: 0 0 28px; font-size: 16px; line-height: 1.6; color: #333; }

/* ── Hierarchy pass ──────────────────────────────────────────────────────
   Title 40/800 tight, date line small and quiet under it, section heads
   26/1.3 with room above and little below, body 16/1.65. Each level is
   unmistakably a level. */
h1 { margin: 10px 0 0; font-size: 40px; line-height: 1.15; font-weight: 800; letter-spacing: -0.03em; }
.lg-updated { margin: 12px 0 0; font-size: 15px; line-height: 1.5; color: var(--ink4); }
.lg-body { margin-top: 36px; font-size: 16px; line-height: 1.65; }
.lg-body h2 { margin: 44px 0 10px; font-size: 26px; line-height: 1.3; letter-spacing: -0.015em; }
.lg-body h3 { margin: 30px 0 8px; font-size: 19px; line-height: 1.35; }
.lg-nav-links { font-size: 15.5px; }
@media (max-width: 560px) {
  h1 { font-size: 33px; }
  .lg-body h2 { font-size: 23px; }
}

/* ── The considered pass ─────────────────────────────────────────────────
   What was on the page stays; this is finish. A 68ch measure instead of a
   loose 720px, a hairline over every section so the document has visible
   joints, headline down a step so the sections read as one family, links
   underlined like documents underline links, and the selection tint in the
   brand's quiet green rather than browser blue. */
.lg-wrap { max-width: 680px; }

h1 { font-size: 38px; }

.lg-body { font-size: 16.5px; line-height: 1.7; color: #2c2f33; }

.lg-body h2 {
  margin: 48px 0 10px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
  font-size: 22px;
  line-height: 1.3;
}

.lg-body h2:first-child { margin-top: 36px; }

.lg-body h3 { font-size: 18px; }

.lg-body a {
  text-decoration: underline;
  text-decoration-color: #b9c6e8;
  text-underline-offset: 3px;
}
.lg-body a:hover { text-decoration-color: #0066ee; }

::selection { background: #e2f0e9; }

.lg-updated { margin-top: 10px; }

@media (max-width: 560px) {
  h1 { font-size: 31px; }
  .lg-body h2 { font-size: 20px; margin-top: 40px; padding-top: 22px; }
}

/* ── Mobile top-right link: the OTHER document ───────────────────────────
   The site rule kept only the current page's link on small screens, so
   Privacy said "Privacy Policy" - a link to where you already are. On a
   phone the useful link is the sibling: Privacy shows Terms, Terms shows
   Privacy. "Back to site" stays hidden there; the lockup already goes home. */
@media (max-width: 640px) {
  /* The site's original rule is a:not([aria-current]) - specificity (0,2,1) -
     so the un-hide has to match it or it silently loses and every link
     disappears. Order within this block does the rest. */
  .lg-nav-links a:not([aria-current="page"]) {
    display: inline-block;
    /* The current-page link carried the underline; now that the SIBLING is
       the one shown, it inherits the same dress or the lockup row suddenly
       looks unstyled. Same offset the site uses. */
    text-decoration: underline;
    text-underline-offset: 5px;
    font-weight: 600;
  }
  .lg-nav-links a[aria-current="page"] { display: none; }
  .lg-nav-links a:last-child { display: none; }
}

/* ── The footer is the HOME footer, so it renders like the home page ─────
   The home document resets link underlines globally; these pages did not,
   so the same markup grew underlines here and read as a different design.
   One reset, scoped to the footer, and the two are pixel-siblings. */
.site-foot a { text-decoration: none; }
.site-foot a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ── Lockup sizes live in CSS so the phone rules actually apply ──────────
   Desktop keeps the home lockup exactly; on a phone the bar drops to 72px
   with a 34px mark, which is the weight a sticky header can carry there. */
.lg-brand img { height: 52px; width: 52px; border-radius: 13px; }
.lg-brand span { font-size: 29px; font-weight: 800; letter-spacing: -0.045em; }
@media (max-width: 820px) {
  .lg-nav { height: 76px; }
  .lg-brand img { height: 40px; width: 40px; border-radius: 10px; }
  .lg-brand span { font-size: 22px; }
}

/* ── Phone menu ──────────────────────────────────────────────────────────
   Cal AI's header on a phone is the lockup and a hamburger. Ours keeps the
   sibling-document link beside it. The panel drops under the bar with FAQ,
   Blog, Press and the two store badges; a click anywhere else closes it.
   Desktop never sees any of this - the full link row is already there. */
/* The right-hand group must not exist as a flex item on desktop, or the
   space-between layout centres the link row instead of right-aligning it. */
.lg-nav-right { display: none; }

.lg-menu-btn {
  display: none;
  border: 0;
  background: none;
  padding: 10px;
  margin: -10px -6px -10px 0;
  color: var(--ink);
  cursor: pointer;
}

.lg-menu { display: none; }

@media (max-width: 640px) {
  .lg-nav { justify-content: flex-start; }
  .lg-nav-links { margin-left: auto; }
  .lg-nav-right { display: flex; margin-left: 2px; }
  .lg-menu-btn { display: grid; place-items: center; }
  .lg-menu.is-open {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
    margin: 0 calc(-1 * var(--gut));
    padding: 4px 0 24px;
  }
  .lg-nav:has(.lg-menu.is-open) { height: auto; flex-wrap: wrap; padding-top: 14px; padding-bottom: 0; }
  .lg-menu > a {
    padding: 15px var(--gut);
    font-size: 20px;
    font-weight: 600;
    text-decoration: none;
  }
  .lg-menu > a:active { background: var(--line); }
}
