/* Now City AI brand layer for Recovery Intelligence.
   Source of truth: https://app.nowcity.ai/brand/kit.json (approved 2026-10-08) and the nowcity.ai
   glass theme (apps/marketing/site/glass.css in now-city-ai). Violet leads, deep cyan supports,
   everything else is a cool neutral. Night is the default, like nowcity.ai; day is one click away.
   Page CSS (site.css, memo.css) uses these token names, never hex values. */

:root,[data-theme="dark"]{
  color-scheme:dark;
  --bg:#07101a;--bg-2:#0d1926;--surface:#122233;--surface-2:#0d1926;
  --ink:#e8eef5;--ink-soft:#c2d1de;--ink-mut:#8aa0b4;--ink-deep:#f4f8fc;
  --line:rgba(140,190,225,.16);--line-2:rgba(140,190,225,.08);
  --accent:#8f88ff;--accent-top:#aca6ff;--accent-solid:#6c63ff;--on-accent:#fff;
  --cyan:#5cb6c9;--cyan-line:#2c5266;
  --credit:#e0a556;--public:#4cc3dc;--debt:#7f93a8;--bad:#ec7b7b;--good:#5fc79c;
  --glass-1:rgba(30,52,76,.52);--glass-2:rgba(14,28,44,.42);--glass-edge:rgba(170,210,240,.14);
  --glass-line:rgba(140,190,225,.14);--glass-shadow:0 26px 60px -30px rgba(0,0,0,.75);
  --field:rgba(7,16,26,.6);
  --art-1:rgba(108,99,255,.30);--art-2:rgba(31,151,176,.24);--art-3:rgba(196,133,47,.10);--art-lines:.6;
}
[data-theme="light"]{
  color-scheme:light;
  --bg:#f3f6fb;--bg-2:#e9eef6;--surface:#fff;--surface-2:#f1f4f9;
  --ink:#1b2535;--ink-soft:#3f4c60;--ink-mut:#5b697d;--ink-deep:#111a29;
  --line:rgba(30,55,90,.14);--line-2:rgba(30,55,90,.07);
  --accent:#5a51e8;--accent-top:#8f88ff;--accent-solid:#6c63ff;--on-accent:#fff;
  --cyan:#3e7d8a;--cyan-line:#c1dee2;
  --credit:#a86d1f;--public:#17819a;--debt:#6f7c8c;--bad:#c44848;--good:#2f8a64;
  --glass-1:rgba(255,255,255,.72);--glass-2:rgba(255,255,255,.52);--glass-edge:rgba(255,255,255,.85);
  --glass-line:rgba(30,55,90,.11);--glass-shadow:0 22px 48px -30px rgba(30,55,90,.38);
  --field:rgba(255,255,255,.85);
  --art-1:rgba(108,99,255,.16);--art-2:rgba(31,151,176,.14);--art-3:rgba(196,133,47,.08);--art-lines:.55;
}
:root{
  --head:'Poppins',system-ui,-apple-system,sans-serif;
  --body:'Roboto',system-ui,-apple-system,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --accent-tint:color-mix(in srgb,var(--accent) 14%,transparent);
  --accent-ring:color-mix(in srgb,var(--accent) 45%,transparent);
  --cyan-tint:color-mix(in srgb,var(--cyan) 14%,transparent);
  --credit-tint:color-mix(in srgb,var(--credit) 12%,transparent);
  --nav-h:56px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font:17px/1.62 var(--body);
  -webkit-font-smoothing:antialiased;position:relative;isolation:isolate}

/* The backdrop: soft color fields plus the faint plan-view city fabric. Text never sits on it bare. */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(60vmax 45vmax at 8% 0%,var(--art-1),transparent 62%),
    radial-gradient(55vmax 42vmax at 100% 30%,var(--art-2),transparent 60%),
    radial-gradient(50vmax 35vmax at 45% 108%,var(--art-3),transparent 65%),
    var(--bg)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:var(--art-lines);
  background:url(/brand/city-lines.svg) center/cover no-repeat;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 30%,#000 35%,transparent 85%);
  mask-image:radial-gradient(120% 90% at 50% 30%,#000 35%,transparent 85%)}

a{color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{color:var(--accent-top)}
[data-theme="light"] a:hover{color:#4a42d0}
button,input,select{font:inherit}
button,a,input{touch-action:manipulation}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}

h1,h2,h3{font-family:var(--head);color:var(--ink-deep)}

.skip{position:absolute;left:12px;top:-100px;z-index:1000;background:var(--accent-solid);color:#fff;
  padding:10px 16px;border-radius:8px;font-weight:700;text-decoration:none}
.skip:focus{top:10px}

/* ===== Top navigation: the nowcity.ai bar. Dark glass in both modes, white wordmark. ===== */
.nv{position:sticky;top:0;z-index:900;min-height:var(--nav-h);
  background:linear-gradient(180deg,rgba(7,16,26,.92),rgba(7,16,26,.84));
  -webkit-backdrop-filter:saturate(160%) blur(16px);backdrop-filter:saturate(160%) blur(16px);
  border-bottom:1px solid rgba(140,190,225,.12);
  display:flex;align-items:center;gap:18px;padding:11px 26px;flex-wrap:wrap;font-family:var(--body)}
.nv a{text-decoration:none}
.nv-brand{display:flex;align-items:center;gap:12px;white-space:nowrap;color:#eceaf7}
.nv-logo{height:23px;width:auto;display:block}
.nv-product{font-family:var(--head);font-size:12.5px;font-weight:600;letter-spacing:.02em;color:#c3c0d9;
  padding-left:12px;border-left:1px solid rgba(255,255,255,.2)}
.nv-toggle{display:none;margin-left:auto;background:none;border:0;color:#eceaf7;font-size:22px;line-height:1;
  cursor:pointer;padding:2px 8px}
.nv-links{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:13.5px}
.nv-links>a{color:#c3c0d9;padding:4px 0;border-bottom:2px solid transparent}
.nv-links>a:hover{color:#fff}
.nv-links>a[aria-current="page"]{color:#fff;border-bottom-color:#6c63ff}
.nv-out{color:#eceaf7!important;border:1px solid rgba(255,255,255,.24);padding:7px 14px;border-radius:8px;
  font-weight:600;white-space:nowrap}
.nv-links>a.nv-out{padding:7px 14px;border-bottom:1px solid rgba(255,255,255,.24)}
.nv-out:hover,.nv-links>a.nv-out:hover{border-color:#c1dee2;color:#fff!important}
.nv-theme{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);color:#eceaf7;cursor:pointer;
  font-size:15px;line-height:1;padding:7px 10px;border-radius:8px;min-width:38px}
.nv-theme:hover{color:#fff;background:rgba(255,255,255,.12);border-color:#c1dee2}
@media(max-width:880px){
  .nv-product{display:none}
  .nv-toggle{display:block}
  .nv-links{display:none;flex-basis:calc(100% + 52px);flex-direction:column;align-items:stretch;gap:0;margin:8px -26px -11px;
    background:rgba(7,16,26,.94);border-top:1px solid rgba(255,255,255,.10)}
  .nv-links.open{display:flex}
  .nv-links>a{padding:13px 26px;border-bottom:1px solid rgba(255,255,255,.05)}
  .nv-links>a[aria-current="page"]{border-bottom-color:rgba(255,255,255,.05);box-shadow:inset 3px 0 0 #6c63ff;background:rgba(108,99,255,.12)}
  .nv-links>a.nv-out{margin:12px 26px 4px;padding:11px 14px;text-align:center}
  .nv-theme{margin:6px 26px 14px;text-align:center}
}
@media(max-width:420px){.nv{padding-left:18px;padding-right:18px}.nv-links{margin-left:-18px;margin-right:-18px;flex-basis:calc(100% + 36px)}}

/* ===== Shared surfaces ===== */
.glass{background:linear-gradient(180deg,var(--glass-1),var(--glass-2));
  -webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);
  border:1px solid var(--glass-line);box-shadow:inset 0 1px 0 var(--glass-edge),var(--glass-shadow)}

/* ===== Footer: the nowcity.ai footer row ===== */
.site-footer{border-top:1px solid var(--line);margin-top:24px;
  background:color-mix(in srgb,var(--bg) 70%,transparent);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.site-footer .frow{max-width:1180px;margin:0 auto;padding:30px 26px 40px;display:flex;flex-wrap:wrap;gap:8px 16px;
  align-items:center;font-size:13.5px;color:var(--ink-mut)}
.site-footer .fbrand{display:flex;align-items:center;gap:10px;color:var(--ink-soft);font-family:var(--head);font-weight:600}
.site-footer .fbrand svg{width:20px;height:20px;color:var(--accent)}
.site-footer a{color:var(--ink-mut);text-decoration:none}
.site-footer a:hover{color:var(--accent)}
.site-footer .dot{color:var(--line)}
.site-footer .fnote{flex-basis:100%;font-size:12.5px;margin-top:6px}

@media(prefers-reduced-transparency:reduce){
  .glass,.panel,.card,.nv{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
