/* Obsidian — true black void, gold hairlines, serif display. */
body.ts2.theme-noir-elite{
  --ts-stage:#050505;
  --ts-wash-1:radial-gradient(ellipse at 50% -8%,rgba(212,175,55,.11),transparent 58%);
  --ts-wash-2:radial-gradient(ellipse at 50% 104%,rgba(212,175,55,.055),transparent 60%);
  --ts-surface:transparent; --ts-surface-2:#0d0d0d; --ts-surface-3:#151515;
  --ts-ink:#f5f2ea; --ts-ink-2:#c9c3b6; --ts-ink-3:#8e8778; --ts-ink-on-brand:#050505;
  --ts-brand:#d4af37; --ts-brand-2:#b8912b; --ts-brand-soft:rgba(212,175,55,.10);
  --ts-accent:#d4af37; --ts-accent-2:#efd98a; --ts-accent-soft:rgba(212,175,55,.10);
  --ts-success:#7fae8a; --ts-success-soft:rgba(127,174,138,.09);
  --ts-line:rgba(212,175,55,.22); --ts-line-strong:rgba(212,175,55,.44); --ts-focus:#efd98a;
  --ts-banner:none; --ts-banner-h:0px;
  --ts-shadow-card:none; --ts-shadow-btn:none;
  --ts-r-card:0px; --ts-r-lg:2px; --ts-r-md:2px; --ts-r-sm:2px; --ts-r-pill:2px;
  --ts-fs-name:33px; --ts-fw-display:600; --ts-ls-display:-.018em; --ts-lh-tight:1.06;
  --ts-fs-body:14px; --ts-ls-label:.2em; --ts-lh-body:1.74;
  --ts-avatar-size:120px; --ts-avatar-overlap:0px;
  /* 148px sat BELOW the 120px avatar and landed on the name glyphs (the badge
     covered the "R" of a name like "Ananya Rao"). 92px puts it back on the
     avatar's lower-right, clear of .ts-name. */
  --ts-verified-top:92px; --ts-verified-x:26px;
  --ts-gutter:26px; --ts-section-y:34px; --ts-glint:0;
}
.theme-noir-elite .ts-identity{padding-top:44px}
.theme-noir-elite .ts-name{font-family:var(--ts-font-display);margin-top:22px}
.theme-noir-elite .ts-avatar{border:0;background:linear-gradient(145deg,#1a1a1a,#0a0a0a);color:var(--ts-accent-2)}
.theme-noir-elite .ts-avatar-wrap::before{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid var(--ts-line-strong)}
.theme-noir-elite .ts-verified{background:var(--ts-stage);border:1px solid var(--ts-line-strong);color:var(--ts-accent-2)}
.theme-noir-elite .ts-company{background:none;border:0;padding:0;color:var(--ts-brand);letter-spacing:.2em}
.theme-noir-elite .ts-tagline{font-family:var(--ts-font-display);font-style:italic;color:var(--ts-ink-2)}
.theme-noir-elite .ts-cta{background:transparent;border:1px solid var(--ts-brand);color:var(--ts-accent-2)}
.theme-noir-elite .ts-cta:active{background:var(--ts-brand);color:var(--ts-ink-on-brand)}
.theme-noir-elite .ts-cta .ts-icon{color:var(--ts-brand)}
.theme-noir-elite .ts-sec{position:relative;padding-top:30px}
.theme-noir-elite .ts-identity+.ts-sec{padding-top:0}
.theme-noir-elite .ts-sec:not(:first-of-type)::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--ts-line-strong) 22%,var(--ts-line-strong) 78%,transparent)}
.theme-noir-elite .ts-sec:not(:first-of-type)::after{content:"";position:absolute;top:-3px;left:50%;margin-left:-3px;width:5px;height:5px;background:var(--ts-brand);transform:rotate(45deg)}
.theme-noir-elite .ts-identity+.ts-sec::before,.theme-noir-elite .ts-identity+.ts-sec::after{display:none}
.theme-noir-elite .ts-contact-link,.theme-noir-elite .ts-linkrow,.theme-noir-elite .ts-office,.theme-noir-elite .ts-pay,.theme-noir-elite .ts-book,.theme-noir-elite .ts-rev{background:transparent;border-color:var(--ts-line)}
.theme-noir-elite .ts-social{border-color:var(--ts-line);background:transparent}
/* Audit m8: gold hairlines were the ONLY boundary of interactive rows at
   ~1.4:1, failing WCAG 1.4.11 (3:1 for non-text UI). The interactive ramp is
   raised to ~4:1 while decorative rules keep the quieter --ts-line. */
.theme-noir-elite .ts-contact-link,
.theme-noir-elite .ts-linkrow,
.theme-noir-elite .ts-office,
.theme-noir-elite .ts-pay,
.theme-noir-elite .ts-book,
.theme-noir-elite .ts-rev,
.theme-noir-elite .ts-social,
.theme-noir-elite .ts-tile{border-color:rgba(212,175,55,.58)}

/* One primary means one FILLED control, and this theme de-fills every .ts-cta
   by design — which left it with nothing filled at all, on any screen. The
   primary gets the fill back; base.css's quiet variant, at one class more,
   keeps the outline for everything else. */
.theme-noir-elite .ts-cta:not(.is-quiet){background:var(--ts-brand);border-color:var(--ts-brand);color:var(--ts-ink-on-brand)}
.theme-noir-elite .ts-cta:not(.is-quiet) .ts-icon{color:var(--ts-ink-on-brand)}
