/* Visual refinement layer: loaded after each page's embedded styles. */
html{overflow-x:hidden}
:root{
  --ground:#F1F5F6;
  --surface:#FFFFFF;
  --surface-2:#F6F9FA;
  --ink:#0B161A;
  --ink-2:#26373E;
  --muted:#5A707A;
  --faint:#81949C;
  --line:#CBD7DB;
  --line-soft:#E1E9EC;
  --accent:#087D8F;
  --accent-soft:#DCEFF2;
  --signal:#B51F5B;
  --signal-soft:#F8DFE9;
  --elev:0 18px 54px rgba(22,48,58,.08);
  --elev-hover:0 24px 70px rgba(8,125,143,.16);
}

@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#071013;
    --surface:#0E191D;
    --surface-2:#132126;
    --ink:#EEF8FA;
    --ink-2:#C6D8DE;
    --muted:#93A9B1;
    --faint:#69818A;
    --line:#22363D;
    --line-soft:#182A30;
    --accent:#5CDBEE;
    --accent-soft:#0D343C;
    --signal:#FF6A9F;
    --signal-soft:#391725;
    --elev:0 20px 70px rgba(0,0,0,.28);
    --elev-hover:0 24px 90px rgba(19,175,198,.13);
  }
}

:root[data-theme="dark"]{
  --ground:#071013;
  --surface:#0E191D;
  --surface-2:#132126;
  --ink:#EEF8FA;
  --ink-2:#C6D8DE;
  --muted:#93A9B1;
  --faint:#69818A;
  --line:#22363D;
  --line-soft:#182A30;
  --accent:#5CDBEE;
  --accent-soft:#0D343C;
  --signal:#FF6A9F;
  --signal-soft:#391725;
  --elev:0 20px 70px rgba(0,0,0,.28);
  --elev-hover:0 24px 90px rgba(19,175,198,.13);
}

body{
  overflow-x:clip;
  background-color:var(--ground);
  background-image:
    linear-gradient(color-mix(in srgb,var(--line-soft) 38%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--line-soft) 38%,transparent) 1px,transparent 1px),
    radial-gradient(circle at 12% -5%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 31rem),
    radial-gradient(circle at 88% 14%,color-mix(in srgb,var(--signal) 8%,transparent),transparent 28rem);
  background-size:48px 48px,48px 48px,auto,auto;
  background-attachment:fixed;
}

body::before{
  content:"";
  position:fixed;
  inset:0 0 auto;
  height:2px;
  z-index:1000;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 3%,var(--accent) 34%,var(--signal) 67%,transparent 97%);
  opacity:.72;
}

.sitenav{
  background:color-mix(in srgb,var(--ground) 76%,transparent);
  border-bottom-color:color-mix(in srgb,var(--line) 76%,transparent);
  box-shadow:0 10px 32px rgba(0,0,0,.05);
  backdrop-filter:saturate(160%) blur(20px);
  -webkit-backdrop-filter:saturate(160%) blur(20px);
}

.sitenav .in{height:66px;max-width:1120px}
.sitenav .brand{letter-spacing:-.02em}
.sitenav .brand i{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);
  border-radius:8px;
  background:color-mix(in srgb,var(--accent) 10%,transparent);
  box-shadow:inset 0 0 16px color-mix(in srgb,var(--accent) 11%,transparent);
}
.sitenav nav a{border:1px solid transparent;transition:color .18s,border-color .18s,background .18s,transform .18s}
.sitenav nav a:hover{transform:translateY(-1px);border-color:var(--line)}
.sitenav nav a[aria-current="page"]{border-color:color-mix(in srgb,var(--accent) 26%,transparent)}

.theme-toggle{
  appearance:none;
  border:1px solid var(--line);
  border-radius:7px;
  color:var(--muted);
  background:var(--surface-2);
  min-width:34px;
  height:34px;
  padding:0;
  cursor:pointer;
  font:500 15px/1 var(--mono);
}
.theme-toggle:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 52%,var(--line))}

.wrap{position:relative}
.hero,.mast{position:relative;isolation:isolate}
.hero::after,.mast::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:1.5%;
  top:38px;
  width:270px;
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle at center,transparent 0 18%,color-mix(in srgb,var(--accent) 38%,transparent) 18.5% 19%,transparent 19.5% 34%,color-mix(in srgb,var(--accent) 24%,transparent) 34.5% 35%,transparent 35.5% 48%,color-mix(in srgb,var(--line) 80%,transparent) 48.5% 49%,transparent 49.5%),
    conic-gradient(from 35deg,transparent 0 19%,color-mix(in srgb,var(--accent) 24%,transparent) 20% 21%,transparent 22% 57%,color-mix(in srgb,var(--signal) 18%,transparent) 58% 59%,transparent 60%);
  mask-image:linear-gradient(135deg,#000,transparent 82%);
  opacity:.7;
}
.hero::before,.mast::before{
  content:"LIVE PUBLIC SIGNALS";
  position:absolute;
  right:4%;
  top:60px;
  color:var(--faint);
  font:500 10px/1 var(--mono);
  letter-spacing:.16em;
  opacity:.72;
}

.hero h1,.mast h1{letter-spacing:-.04em;text-wrap:balance}
.hero h1 em,.mast h1 em{
  background:linear-gradient(110deg,var(--accent),color-mix(in srgb,var(--accent) 58%,var(--signal)));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.eyebrow{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  padding:6px 9px;
  border:1px solid color-mix(in srgb,currentColor 25%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--surface) 50%,transparent);
}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 14px currentColor}

.btn{
  min-height:46px;
  border-radius:8px;
  transition:transform .18s,box-shadow .18s,background .18s,color .18s;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px color-mix(in srgb,var(--accent) 18%,transparent);filter:none}
.btn.p{
  background:linear-gradient(120deg,var(--accent),color-mix(in srgb,var(--accent) 72%,#0E93A8));
  color:#041215;
  box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 20%,transparent);
}

.cards a,.proof div,.q,.st,.pr,.di,.card,.nf,section.cta{
  box-shadow:var(--elev);
  border-color:color-mix(in srgb,var(--line) 82%,transparent);
}
.cards a,.pr,.di,.card{
  position:relative;
  overflow:hidden;
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.cards a::before,.pr::before,.di::before,.card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:linear-gradient(var(--accent),transparent 75%);
  opacity:.45;
}
.cards a:hover,.pr:hover,.di:hover,.card:hover{
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--accent) 58%,var(--line));
  box-shadow:var(--elev-hover);
}
.st .n{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 10%,transparent)}
.note,.callout{box-shadow:inset 0 0 28px color-mix(in srgb,var(--accent) 5%,transparent)}
section.blk{border-top-color:color-mix(in srgb,var(--line) 70%,transparent)}

.sitefoot{
  background:color-mix(in srgb,var(--surface) 78%,transparent);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.sitefoot .in,.sitefoot .bar{max-width:1120px}

.contact-dock{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:180;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
}
.contact-dock span{
  padding-right:7px;
  color:var(--faint);
  font:500 9px/1 var(--mono);
  letter-spacing:.14em;
}
.contact-dock a{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:10px 15px;
  color:var(--ink);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));
  border-radius:10px;
  background:color-mix(in srgb,var(--surface) 88%,transparent);
  box-shadow:0 16px 42px rgba(0,0,0,.18),inset 0 0 22px color-mix(in srgb,var(--accent) 7%,transparent);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.contact-dock a::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}
.contact-dock b{font-family:var(--mono);font-size:12px;color:var(--accent)}
.contact-dock a:hover{border-color:var(--accent);transform:translateY(-2px)}

@media (max-width:760px){
  body{background-size:32px 32px,32px 32px,auto,auto}
  .sitenav .in{height:auto}
  .hero::after,.mast::after{width:170px;right:-34px;top:26px;opacity:.34}
  .hero::before,.mast::before{display:none}
  .contact-dock{right:12px;bottom:12px}
  .contact-dock span{display:none}
  .contact-dock a{min-height:42px;padding:9px 12px;font-size:13px}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important;transition:none !important}
}
