
/* Artificial Index V1.1 — dimensional interface layer */
:root{
  --depth-edge:#12181f;
  --depth-edge-2:#0d1217;
  --depth-shadow:rgba(0,0,0,.38);
  --depth-shadow-soft:rgba(0,0,0,.23);
  --depth-highlight:rgba(255,255,255,.105);
  --depth-highlight-soft:rgba(255,255,255,.035);
}

body{
  background:
    radial-gradient(circle at 15% -8%,rgba(177,196,218,.105),transparent 31%),
    radial-gradient(circle at 87% 12%,rgba(96,126,158,.07),transparent 29%),
    linear-gradient(180deg,#20272f 0%,#171d23 34%,#10151a 100%) !important;
  background-attachment:fixed !important;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.22;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 88%);
}

.grid,.stats,.facts,.split,.dev-grid{
  perspective:1200px;
  perspective-origin:50% 35%;
}

.card,
.stat,
.fact,
.panel{
  position:relative;
  transform-style:preserve-3d;
  backface-visibility:hidden;
  border-color:rgba(194,210,228,.13) !important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.045),transparent 31%),
    linear-gradient(180deg,#303944 0%,#252d36 48%,#1d242c 100%) !important;
  box-shadow:
    inset 0 1px 0 var(--depth-highlight),
    inset 1px 0 0 rgba(255,255,255,.025),
    inset 0 -1px 0 rgba(0,0,0,.48),
    0 2px 0 var(--depth-edge),
    0 7px 0 -3px var(--depth-edge-2),
    0 18px 30px -10px var(--depth-shadow),
    0 31px 65px -31px rgba(0,0,0,.75) !important;
}

.card:after,
.stat:after,
.fact:after,
.panel:after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(circle at var(--mx,28%) var(--my,10%),rgba(255,255,255,.10),transparent 27%),
    linear-gradient(115deg,rgba(255,255,255,.022),transparent 42%);
  opacity:.55;
  mix-blend-mode:screen;
  transition:opacity .25s ease;
}

.card:before{
  z-index:2;
  box-shadow:0 1px 10px color-mix(in srgb,var(--ai,var(--c,var(--accent))) 38%,transparent);
}

.card{
  --rx:0deg;
  --ry:0deg;
  --lift:0px;
  transform:
    perspective(900px)
    translate3d(0,var(--lift),0)
    rotateX(var(--rx))
    rotateY(var(--ry));
  transition:
    transform .22s cubic-bezier(.2,.78,.25,1),
    box-shadow .22s ease,
    border-color .22s ease,
    filter .22s ease !important;
  will-change:transform;
}
.card:hover{
  --lift:-8px;
  border-color:rgba(206,222,240,.30) !important;
  filter:brightness(1.045);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.15),
    inset 1px 0 0 rgba(255,255,255,.04),
    inset 0 -1px 0 rgba(0,0,0,.52),
    0 3px 0 #131a21,
    0 10px 0 -4px #0c1117,
    0 25px 36px -12px rgba(0,0,0,.50),
    0 44px 85px -35px rgba(0,0,0,.88) !important;
}
.card:hover:after{opacity:.9}

.stat,.fact{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.stat:hover,.fact:hover{
  transform:translate3d(0,-4px,12px);
  border-color:rgba(206,222,240,.24) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -1px 0 rgba(0,0,0,.5),
    0 3px 0 #121820,
    0 10px 0 -5px #0b1015,
    0 23px 43px -18px rgba(0,0,0,.62) !important;
}
.panel{
  transform:translateZ(0);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.panel:hover{
  transform:translate3d(0,-3px,8px);
  border-color:rgba(206,222,240,.21) !important;
}

.source,.tablewrap,.notice{
  position:relative;
  border-color:rgba(193,208,225,.12) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 2px 0 rgba(8,12,16,.8),
    0 11px 24px -16px rgba(0,0,0,.75);
}
.source{
  background:
    linear-gradient(135deg,rgba(255,255,255,.038),transparent 38%),
    linear-gradient(180deg,#28313a,#20272e) !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.source:hover{
  transform:translate3d(0,-3px,0);
  border-color:rgba(205,220,238,.23) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 3px 0 #111820,
    0 19px 28px -17px rgba(0,0,0,.75);
}

.btn,
.filter,
.pill,
.tag,
.badge,
.card-actions button,
.card-actions a,
.side-link{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 1px 0 rgba(0,0,0,.75),
    0 5px 12px -9px rgba(0,0,0,.9);
}
.btn,.filter,.card-actions button,.card-actions a{
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.btn:hover,.filter:hover,.card-actions button:hover,.card-actions a:hover{
  transform:translateY(-2px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 2px 0 #11171d,
    0 10px 16px -12px rgba(0,0,0,.92);
}
.btn:active,.filter:active,.card-actions button:active,.card-actions a:active{
  transform:translateY(1px);
  box-shadow:inset 0 2px 5px rgba(0,0,0,.28);
}

.logo,.mark{
  transform:translateZ(14px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -1px 0 rgba(0,0,0,.28),
    0 3px 0 rgba(7,10,14,.85),
    0 11px 20px -10px rgba(0,0,0,.78) !important;
}

.topbar,.top{
  box-shadow:0 9px 30px -22px rgba(0,0,0,.9);
}
.topbar .brand .mark{
  background:url('/assets/artificial-index-mark.svg') center/contain no-repeat !important;
  border:0 !important;
  border-radius:0 !important;
  color:transparent !important;
  box-shadow:none !important;
}
.top:not(.faq-top) .topin > .brand:not(:has(img)):not(:has(.mark)){
  display:grid;
  grid-template-columns:38px auto;
  column-gap:9px;
  align-items:center;
}
.top:not(.faq-top) .topin > .brand:not(:has(img)):not(:has(.mark))::before{
  content:"";
  width:38px;
  height:30px;
  grid-row:1 / span 2;
  background:url('/assets/artificial-index-mark.svg') center/contain no-repeat;
}
.global-search input,.search{
  box-shadow:
    inset 0 1px 3px rgba(0,0,0,.34),
    0 1px 0 rgba(255,255,255,.04);
}

.card h3,.card .meta,.card .maker,.card .tags,.card .pills,.card .card-top,.card .card-actions{
  position:relative;
  z-index:3;
  transform:translateZ(8px);
}
.card p{
  position:relative;
  z-index:3;
  transform:translateZ(5px);
}

.section{
  position:relative;
}
.section:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(205,220,238,.18),transparent);
}

@media (max-width:760px){
  .card,.card:hover,.stat:hover,.fact:hover,.panel:hover{
    transform:none !important;
  }
  .card,.stat,.fact,.panel{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.09),
      inset 0 -1px 0 rgba(0,0,0,.42),
      0 2px 0 #121820,
      0 12px 24px -14px rgba(0,0,0,.65) !important;
  }
}

/* Free-data growth footer */
.ai-growth-footer{
  margin-top:56px;
  border-top:1px solid rgba(194,210,228,.14);
  background:rgba(10,14,18,.82);
  color:#c4ccd5;
}
.ai-growth-footer__inner{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto;
  padding:28px 0 34px;
  display:grid;
  grid-template-columns:minmax(230px,.8fr) minmax(420px,1.2fr);
  gap:28px;
  align-items:start;
}
.ai-growth-footer strong{color:#fff;font-size:14px}
.ai-growth-footer p{max-width:480px;margin:7px 0 0;font-size:12px;line-height:1.65;color:#9faab6}
.ai-growth-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px 16px}
.ai-growth-footer a{color:#bfefff;text-decoration:none;font-size:12px;font-weight:700}
.ai-growth-footer a:hover{text-decoration:underline;color:#fff}
@media (max-width:760px){
  .ai-growth-footer__inner{width:min(100% - 28px,1180px);grid-template-columns:1fr;gap:18px}
  .ai-growth-footer nav{justify-content:flex-start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}

@media (prefers-reduced-motion:reduce){
  .card,.stat,.fact,.panel,.source,.btn,.filter,.card-actions button,.card-actions a{
    transition:none !important;
    transform:none !important;
  }
}

/* Persistent public navigation */
.ai-global-tabs-host{
  gap:14px !important;
}
.ai-global-tabs{
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  gap:6px !important;
  margin-left:auto;
  min-width:0;
}
.ai-global-tabs a{
  display:block;
  padding:9px 11px !important;
  border:1px solid transparent;
  border-radius:9px;
  color:#c4ccd5 !important;
  text-decoration:none;
  font-size:12px !important;
  font-weight:650;
  line-height:1;
  white-space:nowrap;
}
.ai-global-tabs a:hover{
  color:#fff !important;
  background:#2c343d !important;
  border-color:rgba(194,210,228,.12);
}
.ai-global-tabs a.active,
.ai-global-tabs a[aria-current="page"]{
  color:#fff !important;
  background:#39424d !important;
  border-color:#4a5663 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 5px 14px -10px rgba(0,0,0,.9);
}

@media (max-width:760px){
  .ai-global-tabs-host{
    height:auto !important;
    min-height:76px;
    flex-wrap:wrap !important;
    padding-top:9px !important;
    padding-bottom:9px !important;
  }
  .ai-global-tabs{
    order:20;
    width:100%;
    margin:0 !important;
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:4px !important;
    padding-top:7px;
    border-top:1px solid rgba(255,255,255,.07);
  }
  .ai-global-tabs a{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    padding:8px 2px !important;
    font-size:9px !important;
    text-align:center;
  }
}

/* Public frontend refresh with the approved Artificial Index brand assets. */
body.ai-public,body.ai-public.growth-page{
  --bg:#151517;--bg2:#111113;--panel:#202023;--panel2:#1b1b1e;
  --line:#414146;--text:#f5f3f3;--muted:#b9b5b7;
  --accent:#ff747b;--accent2:#ffadb1;--cyan:#ff9298;
  color:var(--text);background:#151517 !important;
}
.ai-public:before{display:none}
body.ai-public .topbar,body.ai-public .top{
  background:rgba(21,21,23,.97);border-bottom:1px solid #36363b;
  box-shadow:none;backdrop-filter:blur(16px);
}
.ai-public .brand{color:#f5f3f3}
.ai-public .brand small{color:#b9b5b7}
.ai-public .ai-global-tabs a{min-height:44px;display:flex;align-items:center;justify-content:center}
.ai-public .ai-global-tabs a:hover{background:#29292d !important;border-color:#59535a}
.ai-public .ai-global-tabs a.active,.ai-public .ai-global-tabs a[aria-current="page"]{
  color:#ffb0b4 !important;background:#392326 !important;
  border-color:#915057 !important;box-shadow:none;
}
.ai-public :is(a,button,input,select,textarea):focus-visible{
  outline:3px solid #ff9298 !important;outline-offset:4px;
}
.ai-skip-link{
  position:fixed;top:10px;left:16px;z-index:1000;
  padding:12px 18px;background:#f5f3f3;color:#151517;
  border-radius:6px;transform:translateY(-180%);
}
.ai-skip-link:focus{transform:none}
.ai-public #main-content{outline:none}
.ai-public :is(.card,.stat,.fact,.panel,.growth-card){
  background:#202023 !important;border-color:#414146 !important;
  box-shadow:none !important;transform:none !important;
}
.ai-public :is(.card,.stat,.fact,.panel):after{display:none}
.ai-public .card:hover{border-color:#74676d !important;filter:none}
.ai-public .home-hero{max-width:1000px;margin:auto;padding:76px 0 36px}
.ai-public .home-hero .eyebrow{color:#ff9298;letter-spacing:.18em}
.ai-public .home-hero h1{
  margin:20px 0 24px;font-size:clamp(50px,8vw,102px);
  line-height:1;letter-spacing:-.065em;
}
.ai-public .home-hero h1 span{color:#f5f3f3;background:none;-webkit-text-fill-color:currentColor}
.ai-public .home-hero .hero-copy{max-width:660px;color:#c6c1c4;font-size:clamp(17px,2vw,20px)}
.ai-public .home-actions{max-width:780px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px;gap:16px}
.ai-public .home-action{
  min-height:112px;padding:24px;background:#202023;color:#f5f3f3;
  border:1px solid #61545a;border-radius:12px;box-shadow:none;
}
.ai-public .home-action.primary{
  background:#b92535;border-color:#ed6975;color:#fff;
}
.ai-public .home-action.primary:hover{background:#a51e2c;border-color:#ff9298}
.ai-public .home-action:hover{background:#2a2427;border-color:#ff9298;transform:none}
.ai-public .home-action span{color:#c6c1c4}
.ai-public .home-action.primary span{color:#fff}
.ai-public .home-secondary{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;margin:22px auto 0}
.ai-public .home-secondary a{display:inline-flex;align-items:center;min-height:44px;color:#d7d1d4;font-size:13px;text-underline-offset:5px}
.ai-public .home-secondary a:hover{color:#ffadb1}
.ai-public .home-trust{max-width:680px;color:#b9b5b7;font-size:12px;margin-top:18px}
.ai-public #explore{scroll-margin-top:160px;margin-top:0;padding-top:34px}
.ai-public .global-search input,.ai-public .growth-form :is(input,select,textarea){
  background:#1c1c20;color:#f5f3f3;border-color:#615b62;box-shadow:none;
}
.ai-public input::placeholder{color:#aba5aa;opacity:1}
.ai-public :is(.filter,.btn,.growth-btn){min-height:44px}
.ai-public :is(.btn.primary,.growth-btn.primary){
  background:#b92535;color:#fff !important;border:1px solid #ed6975;box-shadow:none;
}
.ai-public .ai-growth-footer{background:#111113;border-color:#36363b}
.ai-public .ai-growth-footer p{color:#b9b5b7}
.ai-public .ai-growth-footer a{color:#ffadb1;min-height:44px;display:inline-flex;align-items:center}
.ai-public .mobile-menu{
  top:var(--header-bottom,150px);max-height:calc(100dvh - var(--header-bottom,150px));
  overflow-y:auto;background:#1b1b1e;
}
@media(max-width:1000px){
  .ai-public .ai-global-tabs-host{height:auto;flex-wrap:wrap;padding-block:12px}
  .ai-public .ai-global-tabs{order:20;flex-basis:100%;margin:0;justify-content:center}
}
@media(max-width:760px){
  .ai-public .ai-global-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px !important}
  .ai-public .ai-global-tabs a{padding:10px 6px !important;font-size:12px !important;overflow:visible}
  .ai-public .home-hero{padding:44px 0 24px}
  .ai-public .home-hero h1{font-size:clamp(46px,12vw,76px)}
  .ai-public .home-actions{gap:12px;margin-top:26px}
  .ai-public .home-action{padding:20px}
  .ai-public .home-secondary{gap:4px 18px}
  .ai-public #explore{scroll-margin-top:210px}
  .ai-public .catalog-controls{flex-wrap:wrap;gap:12px}
}
@media(max-width:520px){
  .ai-public .home-actions{grid-template-columns:1fr}
  .ai-public .home-action{min-height:104px}
  .ai-public .section-head{align-items:flex-start;flex-direction:column;gap:16px}
  .ai-public .ai-growth-footer__inner{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ai-public .home-action{transition:none}
}

/* Use the approved raster artwork unchanged; framing is responsive CSS only. */
.ai-public .ai-brand{display:flex;min-width:0;flex:0 1 280px;gap:0}
.ai-public .ai-wordmark{display:block;width:280px;max-width:100%;height:56px;object-fit:cover;object-position:center;border:0;border-radius:0;box-shadow:none}
.ai-public .ai-footer-brand{display:block !important;width:280px;max-width:100%;margin:0 0 16px}
.ai-public .ai-footer-brand + strong{display:block}
.ai-public .admin-review-btn{min-height:44px;color:#f5f3f3;background:#282529;border-color:#61545a;box-shadow:none}
.ai-public .admin-review-btn:hover{background:#392c32;border-color:#ff9298}
.ai-public .mobile-menu-btn{min-height:44px;background:#282529;border-color:#61545a}
.ai-public .mobile-menu a{background:#242126;border-color:#61545a;color:#f5f3f3}
.ai-public .mobile-menu a.primary{background:#b92535;border-color:#ed6975;color:#fff}
.ai-public .admin-fab{background:#252126;border-color:#61545a;color:#f5f3f3}
@media(max-width:1100px){
  .ai-public .topinner.ai-global-tabs-host{height:auto;min-height:72px;flex-wrap:wrap;padding-block:12px !important}
  .ai-public .topinner > .ai-global-tabs{display:grid !important;grid-template-columns:repeat(6,minmax(0,1fr));order:20;flex-basis:100%;width:100%;margin:0}
  .ai-public .topinner > .ai-brand{flex:1;max-width:280px;margin-right:auto}
}
@media(max-width:760px){
  .ai-public .topinner > .ai-global-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ai-public .ai-brand .ai-wordmark{width:220px;height:48px}
}
@media(max-width:420px){
  .ai-public .topinner.ai-global-tabs-host{gap:8px !important}
  .ai-public .ai-brand .ai-wordmark{width:184px;height:44px}
  .ai-public .topinner > .ai-brand{flex:1 1 140px}
}

/* Chakra Petch is a close angular companion to the raster wordmark, not its source font.
   Unmodified fonts are self-hosted under the SIL OFL 1.1; see fonts/chakra-petch/OFL.txt. */
@font-face{
  font-family:"Chakra Petch";font-style:normal;font-weight:400;font-display:swap;
  src:url("/assets/fonts/chakra-petch/ChakraPetch-Regular.ttf") format("truetype");
}
@font-face{
  font-family:"Chakra Petch";font-style:normal;font-weight:600;font-display:swap;
  src:url("/assets/fonts/chakra-petch/ChakraPetch-SemiBold.ttf") format("truetype");
}
@font-face{
  font-family:"Chakra Petch";font-style:normal;font-weight:700;font-display:swap;
  src:url("/assets/fonts/chakra-petch/ChakraPetch-Bold.ttf") format("truetype");
}
@font-face{
  font-family:"Chakra Petch";font-style:italic;font-weight:400;font-display:swap;
  src:url("/assets/fonts/chakra-petch/ChakraPetch-Italic.ttf") format("truetype");
}
body.ai-public{
  --ai-font:"Chakra Petch","Segoe UI",Arial,sans-serif;
  font-family:var(--ai-font) !important;
  line-height:1.6;
}
.ai-public :is(h1,h2,h3,h4,h5,h6,nav,a,button,input,select,textarea,label,th,td){
  font-family:var(--ai-font) !important;
}
.ai-public :is(h1,h2,h3,h4,h5,h6){
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.02em;
}
.ai-public .home-hero h1{line-height:1.08;letter-spacing:-.035em}
.ai-public :is(nav,button,.btn,.growth-btn,.home-action strong){font-weight:600}
.ai-public :is(input,select,textarea){font-size:max(16px,1em)}
.ai-public :is(code,pre,kbd,samp,.mono),
.ai-public :is(code,pre,kbd,samp,.mono) *{
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace !important;
}
@media(max-width:760px){
  .ai-public .ai-global-tabs a{line-height:1.3}
  .ai-public .home-hero h1{letter-spacing:-.025em}
}

/* Keep Registry company text in its card's normal two-dimensional plane. */
.ai-public #companies{
  perspective:none;
}
.ai-public #companies > .card{
  transform-style:flat;
  will-change:auto;
}
.ai-public #companies > .card > :is(h3,.meta,.pills){
  transform:none;
}
