/* Qravitas site layer. Loaded LAST on every page, over index.html's inline styles and blog.css.
   Direction B, raised: warm near-black with a fine grain, ivory type and ivory actions, one grotesk voice
   (Inter Tight) with mono only for data. Lime is reserved for readings that moved, never for chrome. */
:root{
  --bg:#09090A; --panel:#0E0F11; --panel-2:#121316; --panel-3:#17181B;
  --line:rgba(236,235,230,.07); --line-2:rgba(236,235,230,.11); --line-3:rgba(236,235,230,.2);
  --text:#ECEBE6; --muted:#9A9A94; --faint:#5F5F5B;
  --acc:#CCFF00; --acc-2:#DDFF55; --acc-ink:#09090A;
  --acc-dim:rgba(204,255,0,.06); --acc-line:rgba(204,255,0,.28);
  --sig:#C6E26B; /* softer lime for small data text */
  --ivory:#ECEBE6;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
html body{background:var(--bg);color:var(--text)}
/* texture: fixed film grain + one soft ivory light, instead of the old lime grid and glow */
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:1!important;
  background:radial-gradient(1200px 520px at 70% -120px,rgba(236,235,230,.055),transparent 70%)!important;
  -webkit-mask-image:none!important;mask-image:none!important}
body::after{content:'';position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  width:auto!important;height:auto!important;left:0!important;top:0!important;transform:none!important;filter:none!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")!important}
.hero-glow{display:none!important}
h1,h2,h3{font-family:'Inter Tight','Inter',sans-serif;font-weight:500;letter-spacing:-.035em;color:var(--text)}
::selection{background:var(--ivory);color:#09090A}
a:focus-visible,button:focus-visible,input:focus-visible{outline:1px solid var(--ivory);outline-offset:3px}

/* accents: section-heading highlights become ivory, not lime */
.acc,.sec-head h2 .acc{color:var(--text)!important}
.kick{color:var(--muted)}
.kick::before{background:var(--acc)!important}

/* ---------- Masthead ---------- */
nav.tn{position:sticky;top:0;z-index:100;background:rgba(9,9,10,.82)!important;backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);border-bottom:1px solid var(--line)}
.tn-i{display:flex;align-items:center;justify-content:space-between;gap:28px;height:68px}
.tn-b{display:flex;align-items:center;gap:10px;color:var(--text);font-family:'Inter Tight',sans-serif;font-weight:600;font-size:1.28rem;letter-spacing:-.03em;flex:none}
.tn-b img{width:24px;height:24px}
.tn-l{display:flex;align-items:center;gap:30px;overflow-x:auto;scrollbar-width:none}
.tn-l::-webkit-scrollbar{display:none}
.tn-l a{color:var(--muted);font-size:.9rem;white-space:nowrap;transition:color .2s}
.tn-l a:hover,.tn-l a.on{color:var(--text)}
.tn-l a.on{box-shadow:inset 0 -1px 0 var(--acc);padding-bottom:3px}
.tn-c{flex:none;background:var(--ivory);color:#09090A!important;font-size:.88rem;font-weight:500;padding:10px 18px;border-radius:3px;transition:background .2s}
.tn-c:hover{background:#fff}
.tn-a{display:flex;align-items:center;gap:20px;flex:none}.tn-s{color:var(--text);font-size:.88rem;font-weight:500;transition:color .2s}.tn-s:hover{color:var(--acc)}
@media(max-width:900px){.tn-i{height:auto;flex-wrap:wrap;padding:12px 0;gap:12px}.tn-l{order:3;width:100%;gap:22px}}

/* ---------- Buttons: ivory primary, hairline secondary. No lime fills. ---------- */
/* .paybtn is the checkout action on pay.html, which carries its own styles and so missed the
   ivory pass: it was still a full lime block. Lime is for readings that moved, not for chrome. */
.btn,.btn-acc,.nav-cta,.paybtn{background:var(--ivory)!important;color:#09090A!important;border:1px solid var(--ivory)!important;border-radius:3px!important;font-weight:500}
.paybtn:hover:not(:disabled){background:#fff!important}
.btn:hover,.btn-acc:hover,.nav-cta:hover{background:#fff!important}
.btn[style*="transparent"],.btn-ghost{background:transparent!important;color:var(--text)!important;border:1px solid var(--line-3)!important}
.btn-ghost:hover{border-color:var(--text)!important}

/* ---------- Shared components ---------- */
.post,.cta,.cluster-nav,.lk-box,.corpus,.card{background:linear-gradient(180deg,rgba(236,235,230,.025),transparent 60%)!important;border:1px solid var(--line-2)!important;border-radius:4px!important;box-shadow:none!important}
.post{transform:none!important}
.post:hover{border-color:var(--line-3)!important}
.post .pt,.article .tag,.article .meta .acc{color:var(--sig)}
.article .tag{background:transparent;border-color:var(--acc-line)}
.article a.inl,.article p a{color:var(--text);text-decoration:underline;text-decoration-color:var(--acc-line);text-underline-offset:3px}
.article a.inl:hover,.article p a:hover{text-decoration-color:var(--acc)}
.article blockquote{border-left-color:var(--line-3)}
.realchip,.livechip{color:var(--sig)!important;border-color:var(--acc-line)!important;background:transparent!important}
.cluster-links a:hover{border-color:var(--line-3);background:transparent}
.related a:hover{color:var(--text)}
.fcol a:hover{color:var(--text)}
#consent-banner{background:rgba(12,13,15,.97)!important;border-top:1px solid var(--line-2)!important}
.consent-btn-primary{background:var(--ivory)!important;color:#09090A!important;border-color:var(--ivory)!important}

/* ---------- Ticker ---------- */
/* Ticker container. Scoped as .tkr, not .tk: pricing.html uses .tk for its tier kicker, and
   site.css loads last, so a bare .tk here applied the ticker's edge mask to those kickers and ate
   the first and last character of every one of them. */
.tkr{border-bottom:1px solid var(--line);height:42px;overflow:hidden;display:flex;align-items:center;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.03em;color:var(--muted);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.tk-r{display:flex;width:max-content;white-space:nowrap;animation:tk-run 70s linear infinite}
.tkr:hover .tk-r{animation-play-state:paused}
.tk-i{flex:none;padding:0 28px;border-right:1px solid var(--line)}
.tk-i b{color:var(--text);font-weight:500;letter-spacing:.08em}
.tk-i em{font-style:normal;margin-left:8px;color:var(--text)}
.tk-i em.mv{color:var(--sig)}
@keyframes tk-run{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.tk-r{animation:none}}

/* ---------- Homepage fold ---------- */
.hero.qh{padding:0!important;min-height:0!important;text-align:left!important}
.qh-g{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:40px;align-items:center;padding:72px 0 56px}
.qh-k{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px}
.qh-k::before{content:'';width:18px;height:1px;background:var(--acc)}
.hero.qh h1{font-size:clamp(2.9rem,5.6vw,5rem);line-height:.98;letter-spacing:-.05em;font-weight:500;margin:26px 0 0;max-width:11ch}
.hero.qh .lead{color:var(--muted);font-size:1.08rem;line-height:1.6;margin:26px 0 0;max-width:44ch}
.qh-a{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.qh-a .btn,.qh-a .btn-ghost{padding:14px 22px;font-size:.95rem}
.qh-r{position:relative}
.qh-f{width:100%;height:auto;display:block}
.qh-f .lb{font:500 12.5px 'Inter',sans-serif;fill:#ECEBE6}
.qh-f .lv{font:400 11px 'JetBrains Mono',monospace;fill:#C6E26B}
.qh-cap{display:flex;justify-content:space-between;gap:16px;margin-top:12px;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.qh-cap i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acc);margin-right:8px;vertical-align:1px}
.qh-s{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-2);border-radius:4px;
  background:linear-gradient(180deg,rgba(236,235,230,.025),transparent)}
.qh-s div{padding:22px 24px;border-right:1px solid var(--line-2)}
.qh-s div:last-child{border-right:0}
.qh-s strong{display:block;font-family:'Inter Tight',sans-serif;font-weight:500;font-size:2.1rem;letter-spacing:-.04em;line-height:1}
.qh-s small{display:block;margin-top:10px;font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
@media(max-width:900px){.qh-g{grid-template-columns:minmax(0,1fr);padding:48px 0 40px}.qh-s{grid-template-columns:1fr 1fr}.qh-s div:nth-child(2){border-right:0}.qh-s div:nth-child(-n+2){border-bottom:1px solid var(--line-2)}}

/* phone: nothing may hold a min-content width */
@media(max-width:700px){
  .wrap,.article .col{width:calc(100% - 32px)!important}
  main *,footer *{min-width:0}
  table{display:block;overflow-x:auto;max-width:100%}
  input,textarea,select{max-width:100%}
  h1,h2,h3,p,li,td,th,.btn{overflow-wrap:anywhere}
  .btn{white-space:normal}
}
.form .plan label{position:relative}.form .plan input{left:0;top:0;width:1px!important;height:1px}
/* logo lockup: mark + full wordmark, one definition for nav and footer */
.lg{display:inline-flex;align-items:center;gap:10px;line-height:1}
.lg img{width:24px;height:24px;display:block}
.lg-w{font-family:'Inter Tight','Inter',sans-serif;font-weight:600;font-size:1.28rem;letter-spacing:-.03em;color:var(--text)}
.fbt .lg img{width:20px;height:20px}.fbt .lg-w{font-size:1.08rem}
.qh-u{margin:18px 0 88px;font-size:.86rem;line-height:1.6;color:var(--faint);max-width:none}
.qh-u a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:3px}
.qh-u a:hover{color:var(--text);text-decoration-color:var(--text)}
svg.lg{height:34px;width:auto;display:block;overflow:visible}
.fbt svg.lg{height:28px}
.kg-side{margin-top:34px;padding-top:28px;border-top:1px solid var(--line-2)}.kg-side .kgi .kt{color:var(--text)!important}
/* expanded corpus field (replaces the old graph visual) */
.kg-field{border:1px solid var(--line-2);border-radius:4px;background:linear-gradient(180deg,rgba(236,235,230,.02),transparent 70%);padding:18px 22px 16px}
.kf-h,.kf-f{display:flex;justify-content:space-between;gap:16px;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.kf-h i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acc);margin-right:8px;vertical-align:1px}
.kf-f{margin-top:10px;text-transform:none;letter-spacing:.02em;font-size:.7rem}
.kf{width:100%;height:auto;display:block;margin-top:10px}
.kf .lb,.qh-f .lb{font:500 12.5px 'Inter',sans-serif;fill:#ECEBE6}
.kf .lv,.qh-f .lv{font:400 11px 'JetBrains Mono',monospace;fill:#C6E26B}
.co .pl{transform-box:fill-box;transform-origin:center;animation:co-pulse 3.2s ease-out infinite}
.co:nth-of-type(2n) .pl{animation-delay:1.1s}.co:nth-of-type(3n) .pl{animation-delay:2.2s}
@keyframes co-pulse{0%{transform:scale(1);stroke-opacity:.45}70%,100%{transform:scale(2.1);stroke-opacity:0}}
@media(prefers-reduced-motion:reduce){.co .pl{animation:none}}
@media(max-width:700px){.kg-field{padding:12px;overflow-x:auto}.kf{min-width:760px}}
/* centred fold: the statement alone, no visual competing with it */
.qh-g.qh-c{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;padding:112px 0 72px}
.qh-c .qh-k{justify-content:center}
.qh-c .qh-k::after{content:'';width:18px;height:1px;background:var(--acc)}
.hero.qh .qh-c h1{max-width:14ch;margin-left:auto;margin-right:auto;font-size:clamp(3rem,7vw,6rem)}
.hero.qh .qh-c .lead{margin-left:auto;margin-right:auto;max-width:50ch}
.qh-c .qh-a{justify-content:center}
.qh-u{text-align:center}
@media(max-width:900px){.qh-g.qh-c{padding:64px 0 48px}}
.qh-u{max-width:78ch;margin-left:auto!important;margin-right:auto!important;text-wrap:balance}
/* landing-page FAQ (visible questions, mirrored in FAQPage schema) */
.lp-faq{margin-top:52px;padding-top:30px;border-top:1px solid var(--line-2)}
.lp-faq h2{font-size:1.5rem;margin-bottom:8px}
.lp-faq .q{border-top:1px solid var(--line);padding:20px 0}
.lp-faq .q h3{font-family:'Inter Tight',sans-serif;font-size:1.06rem;font-weight:600;letter-spacing:-.015em;margin-bottom:8px;color:var(--text)}
.lp-faq .q p{color:var(--muted);font-size:1rem;line-height:1.65}
.article .lp-faq h2::before,.article .lp-faq h3::before{content:none}
.fcol .fh{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text);margin-bottom:14px}
/* nav-fade */@media(max-width:900px){.tn-l{gap:18px;padding-right:28px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}}
