/* CalcAI - shared styling for legal / trust pages. Matches the landing design system. */
:root{
  --bg:#070304;
  --ink:#ffffff;
  --body:#d9d2d0;
  --soft:#a99f9d;
  --muted:#8f7d7a;
  --accent:#f87171;
  --accent-2:#ea580c;
  --glass-bg:rgba(40,5,0,0.24);
  --glass-bd:rgba(255,80,40,0.16);
  --line:rgba(255,80,40,0.10);
  --maxw:1180px;
  --radius:18px;
  --grad:linear-gradient(135deg,#fca5a5,#ef4444,#991b1b);
  --grad-btn:linear-gradient(90deg,#b91c1c,#ea580c);
}
*{ box-sizing:border-box; scrollbar-width:none; -ms-overflow-style:none; }
*::-webkit-scrollbar{ width:0; height:0; display:none; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
[id]{ scroll-margin-top:96px; }
body{
  margin:0; background:var(--bg); color:var(--body);
  font-family:'Inter',system-ui,sans-serif; font-size:16px; line-height:1.5;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
/* ambient background glows (light, no canvas) */
body::before{
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(900px 420px at 50% -120px, rgba(234,88,12,0.18), transparent 70%),
    radial-gradient(700px 500px at 100% 8%, rgba(127,29,29,0.20), transparent 72%),
    radial-gradient(700px 600px at 0% 30%, rgba(40,5,0,0.5), transparent 70%);
}
a{ color:inherit; }
::selection{ background:rgba(234,88,12,0.35); color:#fff; }
a:focus-visible, button:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:6px; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms!important; transition-duration:.01ms!important; }
}

/* ---------- nav ---------- */
.lg-nav{ position:sticky; top:0; z-index:50; background:rgba(12,3,1,0.6); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-bottom:1px solid var(--line); }
.lg-nav-inner{ max-width:var(--maxw); margin:0 auto; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.lg-brand{ display:flex; align-items:center; gap:9px; text-decoration:none; }
.lg-brand b{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; font-size:19px; letter-spacing:0.05em; color:#fff; }
.lg-brand b i{ font-style:normal; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; filter:brightness(1.3); }
.lg-back{ display:inline-flex; align-items:center; gap:7px; text-decoration:none; color:var(--soft); font-size:14px; padding:9px 15px; border-radius:9px; border:1px solid var(--glass-bd); background:rgba(40,5,0,0.25); transition:color .2s ease, border-color .2s ease; }
.lg-back:hover{ color:#fff; border-color:rgba(255,80,40,0.4); }

/* ---------- header ---------- */
.lg-head{ position:relative; z-index:1; max-width:var(--maxw); margin:0 auto; padding:72px 24px 36px; }
.lg-eyebrow{ display:inline-flex; align-items:center; gap:10px; margin-bottom:22px; }
.lg-eyebrow span:first-child,.lg-eyebrow span:last-child{ width:26px; height:1px; }
.lg-eyebrow span:first-child{ background:linear-gradient(90deg,transparent,#ef4444); }
.lg-eyebrow span:last-child{ background:linear-gradient(90deg,#ef4444,transparent); }
.lg-eyebrow b{ font-size:12px; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--accent); }
.lg-title{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; letter-spacing:-0.02em; line-height:1.07; color:#fff; font-size:clamp(34px,5.4vw,56px); margin:0 0 18px; max-width:16ch; }
.lg-title i{ font-style:normal; background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; filter:brightness(1.3); }
.lg-lead{ font-size:18px; line-height:1.6; color:var(--soft); font-weight:300; max-width:62ch; margin:0; }
.lg-meta{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.lg-pill{ display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border-radius:999px; background:var(--glass-bg); border:1px solid var(--glass-bd); font-size:12.5px; color:var(--body); }
.lg-pill iconify-icon{ color:var(--accent); }

/* ---------- layout: ToC + content ---------- */
.lg-grid{ position:relative; z-index:1; max-width:var(--maxw); margin:0 auto; padding:20px 24px 80px; display:grid; grid-template-columns:256px minmax(0,1fr); gap:56px; align-items:start; }
.lg-toc{ position:sticky; top:92px; align-self:start; }
.lg-toc-title{ font-size:11.5px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); margin:0 0 14px; padding-left:14px; }
.lg-toc ol{ list-style:none; margin:0; padding:0; border-left:1px solid var(--line); }
.lg-toc a{ display:block; text-decoration:none; color:var(--soft); font-size:14px; line-height:1.4; padding:9px 14px; margin-left:-1px; border-left:2px solid transparent; transition:color .2s ease, border-color .2s ease; }
.lg-toc a:hover{ color:#fff; }
.lg-toc a.is-active{ color:#fff; border-left-color:var(--accent); background:linear-gradient(90deg,rgba(234,88,12,0.10),transparent); }
.lg-toc-cta{ margin-top:18px; }

/* mobile ToC disclosure (hidden on desktop) */
.lg-toc-mobile{ display:none; }

/* ---------- content typography ---------- */
.lg-content{ min-width:0; max-width:75ch; }
.lg-content section{ scroll-margin-top:96px; padding-top:14px; }
.lg-content section + section{ margin-top:46px; }
.lg-h2{ display:flex; align-items:baseline; gap:14px; font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; letter-spacing:-0.01em; color:#fff; font-size:25px; line-height:1.25; margin:0 0 16px; }
.lg-h2 .lg-num{ flex:none; font-size:14px; font-weight:600; color:var(--accent); font-variant-numeric:tabular-nums; padding-top:3px; }
.lg-h3{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; color:#fff; font-size:17px; margin:26px 0 10px; }
.lg-content p{ margin:0 0 15px; color:var(--body); line-height:1.72; }
.lg-content ul,.lg-content ol.lg-list{ margin:0 0 16px; padding:0; list-style:none; display:flex; flex-direction:column; gap:11px; }
.lg-content li{ position:relative; padding-left:26px; color:var(--body); line-height:1.65; }
.lg-content ul li::before{ content:''; position:absolute; left:4px; top:10px; width:7px; height:7px; border-radius:50%; background:var(--grad-btn); }
.lg-content ol.lg-list{ counter-reset:li; }
.lg-content ol.lg-list li{ padding-left:34px; counter-increment:li; }
.lg-content ol.lg-list li::before{ content:counter(li); position:absolute; left:0; top:0; width:22px; height:22px; border-radius:7px; background:rgba(239,68,68,0.12); border:1px solid var(--glass-bd); color:var(--accent); font-size:12px; font-weight:600; display:flex; align-items:center; justify-content:center; }
.lg-content strong{ color:#fff; font-weight:600; }
.lg-content a:not(.lg-cta){ color:var(--accent); text-decoration:none; border-bottom:1px solid rgba(248,113,113,0.4); transition:border-color .2s ease; }
.lg-content a:not(.lg-cta):hover{ border-bottom-color:var(--accent); }

/* callout / highlight box */
.lg-note{ margin:20px 0; border-radius:14px; background:var(--glass-bg); border:1px solid var(--glass-bd); border-left:3px solid var(--accent); padding:18px 20px; }
.lg-note p{ margin:0; color:var(--body); }
.lg-note .lg-note-h{ display:flex; align-items:center; gap:9px; font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; color:#fff; font-size:15px; margin:0 0 7px; }
.lg-note .lg-note-h iconify-icon{ color:var(--accent); }

/* data / definition cards (e.g. data we collect, rights) */
.lg-cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:20px 0; }
.lg-card{ background:var(--glass-bg); border:1px solid var(--glass-bd); border-radius:14px; padding:20px; }
.lg-card .ic{ display:flex; width:42px; height:42px; align-items:center; justify-content:center; border-radius:12px; background:rgba(239,68,68,0.10); border:1px solid var(--glass-bd); color:var(--accent); margin-bottom:14px; }
.lg-card h4{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; color:#fff; font-size:16px; margin:0 0 7px; }
.lg-card p{ margin:0; font-size:14px; line-height:1.6; color:var(--soft); }

/* small print table */
.lg-table{ width:100%; border-collapse:collapse; margin:18px 0; font-size:14px; }
.lg-table th,.lg-table td{ text-align:left; padding:13px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
.lg-table th{ color:var(--accent); font-weight:600; font-size:12px; letter-spacing:0.06em; text-transform:uppercase; }
.lg-table td{ color:var(--body); line-height:1.55; }
.lg-table tr:last-child td{ border-bottom:none; }
.lg-table-wrap{ border:1px solid var(--glass-bd); border-radius:14px; overflow-x:auto; -webkit-overflow-scrolling:touch; background:var(--glass-bg); margin:20px 0; }
.lg-table-wrap .lg-table{ margin:0; }
.lg-table-wrap .lg-table th,.lg-table-wrap .lg-table td{ padding-left:18px; padding-right:18px; }

.lg-cta{ display:inline-flex; align-items:center; gap:8px; text-decoration:none; background:var(--grad-btn); color:#fff; border:none; border-radius:11px; padding:13px 22px; font-size:14.5px; font-weight:600; font-family:Inter,sans-serif; cursor:pointer; box-shadow:0 14px 30px -14px rgba(220,38,38,0.7); transition:transform .2s ease, filter .2s ease; }
.lg-cta:hover{ transform:translateY(-2px); filter:brightness(1.08); }
.lg-cta.ghost{ background:rgba(40,5,0,0.3); border:1px solid var(--glass-bd); box-shadow:none; color:#e5e7eb; }

/* ---------- footer ---------- */
.lg-foot{ position:relative; z-index:1; border-top:1px solid var(--line); background:linear-gradient(180deg,rgba(20,4,2,0),rgba(28,6,2,0.5)); }
.lg-foot-inner{ max-width:var(--maxw); margin:0 auto; padding:48px 24px 40px; }
.lg-foot-links{ display:flex; flex-wrap:wrap; gap:14px 28px; margin-bottom:26px; }
.lg-foot-links a{ color:var(--soft); text-decoration:none; font-size:14px; transition:color .2s ease; }
.lg-foot-links a:hover{ color:#fff; }
.lg-foot-bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }

/* ---------- responsive ---------- */
@media (max-width: 980px){
  .lg-grid{ grid-template-columns:1fr; gap:0; padding-top:8px; }
  .lg-toc{ display:none; }
  .lg-toc-mobile{ display:block; margin:0 0 28px; border:1px solid var(--glass-bd); border-radius:14px; background:var(--glass-bg); overflow:hidden; }
  .lg-toc-mobile summary{ list-style:none; cursor:pointer; padding:15px 18px; display:flex; align-items:center; justify-content:space-between; font-family:'Plus Jakarta Sans',sans-serif; font-weight:600; color:#fff; font-size:15px; }
  .lg-toc-mobile summary::-webkit-details-marker{ display:none; }
  .lg-toc-mobile summary iconify-icon{ color:var(--accent); transition:transform .25s ease; }
  .lg-toc-mobile[open] summary iconify-icon{ transform:rotate(180deg); }
  .lg-toc-mobile ol{ list-style:none; margin:0; padding:4px 8px 12px; }
  .lg-toc-mobile a{ display:block; text-decoration:none; color:var(--soft); font-size:14.5px; padding:11px 12px; border-radius:9px; }
  .lg-toc-mobile a:active{ color:#fff; background:rgba(234,88,12,0.10); }
}
@media (max-width: 720px){
  .lg-head{ padding:48px 20px 28px; }
  .lg-grid{ padding:8px 20px 64px; }
  .lg-lead{ font-size:16.5px; }
  .lg-h2{ font-size:22px; }
  .lg-cards{ grid-template-columns:1fr; }
  .lg-foot-bar{ flex-direction:column; align-items:flex-start; gap:8px; }
  .lg-nav-inner{ padding:13px 18px; }
  .lg-table th,.lg-table td{ padding:11px 12px; }
}

/* language toggle */
.ca-lang{ display:inline-flex; align-items:center; gap:2px; border:1px solid var(--glass-bd); border-radius:8px; padding:2px; background:rgba(40,5,0,0.25); }
.ca-lang button{ font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600; letter-spacing:0.04em; color:var(--muted); background:none; border:none; cursor:pointer; padding:6px 9px; border-radius:6px; min-height:32px; transition:color .2s ease, background .2s ease; }
.ca-lang button.is-on{ color:#fff; background:linear-gradient(90deg,#b91c1c,#ea580c); }
.ca-lang button:hover:not(.is-on){ color:#fff; }
