:root { color-scheme: dark; }
html { scroll-behavior: smooth; }
body {
  background:#07090F;
  color:#E9EDF5;
  -webkit-font-smoothing:antialiased;
}

/* ── type scale ─────────────────────────────────────────── */
.h-hero  { font-size:clamp(3rem, 7.4vw, 5.5rem);   line-height:.98; letter-spacing:-.038em; font-weight:800; }
.h-sect  { font-size:clamp(2.2rem, 4.6vw, 3.6rem); line-height:1.04; letter-spacing:-.032em; font-weight:800; }
.h-card  { font-size:clamp(1.15rem, 1.5vw, 1.4rem); line-height:1.22; letter-spacing:-.02em; font-weight:700; }
.sub-hero{ font-size:clamp(1.15rem, 1.75vw, 1.25rem); line-height:1.55; }
.sub-sect{ font-size:clamp(1.05rem, 1.4vw, 1.28rem); line-height:1.6; }
h1,h2,h3 { text-wrap:balance; }

/* half gradient, half plain */
.grad {
  background-image:linear-gradient(102deg,#C6DAFF 0%,#7FB0FF 30%,#3D7BFF 62%,#2ED0FF 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
@supports not ((-webkit-background-clip:text) or (background-clip:text)) {
  .grad { -webkit-text-fill-color:#9CC0FF; color:#9CC0FF; }
}

/* ── eyebrow pills ──────────────────────────────────────── */
.eyebrow {
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:'JetBrains Mono Variable','JetBrains Mono',monospace; font-size:11px; font-weight:500;
  letter-spacing:.15em; text-transform:uppercase;
  padding:.42rem .85rem .42rem .7rem; border-radius:999px;
  color:#C6DAFF;
  background:linear-gradient(180deg, rgba(61,123,255,.16), rgba(61,123,255,.05));
  border:1px solid rgba(124,168,255,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.eyebrow::before {
  content:''; width:5px; height:5px; border-radius:999px; flex:none;
  background:#3D7BFF; box-shadow:0 0 0 3px rgba(61,123,255,.22);
}
.eyebrow-plain { color:#A3ACBE; background:rgba(255,255,255,.03); border-color:#1D2536; }
.eyebrow-plain::before { background:#606A7D; box-shadow:0 0 0 3px rgba(255,255,255,.05); }

/* ── grounds ────────────────────────────────────────────── */
.mesh { background-image:url('../images/mesh-glow.svg'); background-size:cover; background-position:center top; background-repeat:no-repeat; }
.grain::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:url('../images/grain.svg'); background-size:200px 200px;
  opacity:.20; mix-blend-mode:soft-light;
}
.hairline { background-image:linear-gradient(90deg,transparent,rgba(124,168,255,.35),transparent); }
.panel { background:linear-gradient(168deg,#121826 0%,#0C1017 100%); border:1px solid #1D2536; }
.panel-lift { box-shadow:0 1px 0 rgba(255,255,255,.04) inset, 0 24px 60px -28px rgba(0,0,0,.9); }
.glass { background:rgba(9,12,19,.92); backdrop-filter:blur(14px); }
@supports not (backdrop-filter: blur(1px)) { .glass { background:#0A0E16; } }
.btn-grad {
  background-image:linear-gradient(180deg,#4E8BFF,#2A5FE0);
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset, 0 10px 26px -12px rgba(61,123,255,.75);
}
.btn-grad:hover { background-image:linear-gradient(180deg,#5D96FF,#2F68F0); }

.param { color:#9CC0FF; background:rgba(61,123,255,.14); border-radius:3px; padding:0 3px; }
.pill { display:inline-flex; align-items:center; gap:.35rem; font-size:12px; font-weight:600; padding:.15rem .55rem; border-radius:5px; white-space:nowrap; border:1px solid transparent; }
.pill-paid    { background:rgba(255,166,61,.13);  color:#FFC880; border-color:rgba(255,166,61,.22); }
.pill-organic { background:rgba(52,211,131,.12);  color:#7EE0AE; border-color:rgba(52,211,131,.22); }
.pill-social  { background:rgba(61,123,255,.14);  color:#9CC0FF; border-color:rgba(61,123,255,.26); }
.pill-email   { background:rgba(178,120,255,.13); color:#D3B4FF; border-color:rgba(178,120,255,.24); }
.pill-ai      { background:rgba(46,208,255,.11);  color:#8BE4FF; border-color:rgba(46,208,255,.22); }

.fade-edges { -webkit-mask-image:linear-gradient(90deg,transparent,#000 7rem,#000 calc(100% - 7rem),transparent); mask-image:linear-gradient(90deg,transparent,#000 7rem,#000 calc(100% - 7rem),transparent); }
.marquee .swiper-wrapper { transition-timing-function:linear !important; }
.marquee .swiper-slide { width:auto; }

a:focus-visible, button:focus-visible, summary:focus-visible { outline:2px solid #7FB0FF; outline-offset:3px; border-radius:6px; }
details > summary { list-style:none; cursor:pointer; }
details > summary::-webkit-details-marker { display:none; }
details[open] .chev { transform:rotate(45deg); }

@media (prefers-reduced-motion: reduce) {
  [data-aos] { opacity:1 !important; transform:none !important; transition:none !important; }
  html { scroll-behavior:auto; }
}

/* ── long-form post content ─────────────────────────────── */
/* Tailwind's preflight strips heading sizes and list markers, so everything
   coming out of the editor needs restating. Scoped to .post-body so the
   landing page's own markup is untouched. */
.post-body { font-size:16.5px; line-height:1.7; color:#C4CBD9; }
.post-body > * + * { margin-top:1.15em; }
.post-body h2 {
  font-size:clamp(1.5rem,2.4vw,1.9rem); line-height:1.2; letter-spacing:-.022em;
  font-weight:700; color:#E9EDF5; margin-top:2.4em;
  /* Clears the sticky header when a table-of-contents link jumps here. */
  scroll-margin-top:6rem;
}
.post-body h3 {
  font-size:clamp(1.15rem,1.6vw,1.35rem); line-height:1.25; letter-spacing:-.015em;
  font-weight:700; color:#E9EDF5; margin-top:1.9em;
}
.post-body h4 { font-size:1.05rem; font-weight:700; color:#E9EDF5; margin-top:1.6em; }
.post-body a { color:#9CC0FF; text-decoration:underline; text-decoration-color:#1C42A8; text-underline-offset:2px; }
.post-body a:hover { text-decoration-color:#3D7BFF; }
.post-body strong { color:#E9EDF5; font-weight:650; }
.post-body ul, .post-body ol { padding-left:1.35em; }
.post-body ul { list-style:disc; }
.post-body ol { list-style:decimal; }
.post-body li + li { margin-top:.45em; }
.post-body li::marker { color:#606A7D; }
.post-body blockquote {
  border-left:2px solid #2A3346; padding:.15em 0 .15em 1.15em;
  color:#A3ACBE; font-style:italic;
}
.post-body code {
  font-family:'JetBrains Mono Variable','JetBrains Mono',monospace; font-size:.875em;
  color:#9CC0FF; background:rgba(61,123,255,.12); border-radius:4px; padding:.1em .35em;
}
.post-body pre {
  background:#0D111A; border:1px solid #1D2536; border-radius:12px;
  padding:1.1rem 1.25rem; overflow-x:auto; font-size:13.5px; line-height:1.6;
}
.post-body pre code { color:#C4CBD9; background:none; padding:0; font-size:inherit; }
.post-body img, .post-body video { border-radius:12px; height:auto; }
.post-body figure figcaption { margin-top:.6rem; font-size:13.5px; color:#606A7D; }
.post-body hr { border:0; border-top:1px solid #1D2536; margin-top:2.4em; }
.post-body table { width:100%; border-collapse:collapse; font-size:15px; display:block; overflow-x:auto; }
.post-body th, .post-body td { border:1px solid #1D2536; padding:.6rem .8rem; text-align:left; }
.post-body th { color:#E9EDF5; background:rgba(255,255,255,.02); font-weight:650; }
.post-body :is(h2,h3,h4) + * { margin-top:.7em; }

/* ── table of contents ──────────────────────────────────── */
.toc { font-size:14px; }
.toc-title {
  font-family:'JetBrains Mono Variable','JetBrains Mono',monospace; font-size:10.5px;
  font-weight:500; letter-spacing:.15em; text-transform:uppercase; color:#606A7D;
}
.toc ol { list-style:none; counter-reset:toc; }
.toc li { counter-increment:toc; }
.toc a {
  display:flex; gap:.6rem; padding:.4rem 0; color:#A3ACBE;
  transition:color .15s ease; text-decoration:none;
}
.toc a::before { content:counter(toc,decimal-leading-zero); color:#2A3346; flex:none; font-variant-numeric:tabular-nums; }
.toc a:hover { color:#E9EDF5; }
.toc a:hover::before { color:#3D7BFF; }

/* ── WordPress-generated markup ─────────────────────────── */
/* Themes have to supply this; Tailwind's preflight does not. */
.screen-reader-text {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;
}
.screen-reader-text:focus {
  position:static; width:auto; height:auto; margin:0; clip-path:none;
}

.entrysource-pagination { margin-top:3.5rem; }
.entrysource-pagination .nav-links {
  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem;
  font-size:14px; font-variant-numeric:tabular-nums;
}
.entrysource-pagination .page-numbers {
  display:grid; place-items:center; min-width:2.5rem; height:2.5rem;
  padding:0 .75rem; border-radius:10px;
  border:1px solid #1D2536; background:rgba(255,255,255,.02);
  color:#A3ACBE; text-decoration:none; transition:background .15s ease, color .15s ease;
}
.entrysource-pagination .page-numbers:hover { background:rgba(255,255,255,.07); color:#E9EDF5; }
.entrysource-pagination .page-numbers.current {
  background-image:linear-gradient(180deg,#4E8BFF,#2A5FE0);
  border-color:transparent; color:#fff; font-weight:600;
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset;
}
.entrysource-pagination .page-numbers.dots {
  border-color:transparent; background:none; min-width:1.5rem; padding:0;
}
