/* ============================================================
   Fortitude Media, website v3, shared styles
   Ivory paper / ink / vermilion. Fraunces + Inter.
   ============================================================ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  --paper:    #F6F2EA;
  --paper-2:  #FFFCF6;
  --cream:    #EFE9DC;
  --ink:      #171410;
  --ink-2:    #211D17;
  --ink-3:    #2B261E;
  --soft:     #5C5447;
  --faint:    #675F50;
  --line:     #E0D8C8;
  --line-2:   #D2C8B4;
  --signal:   #D6492A;
  --signal-d: #B83C20;
  --signal-bg: rgba(214,73,42,0.08);
  --moss:     #2E6B4F;
  --moss-bg:  rgba(46,107,79,0.10);
  --gold:     #C8A24A;
  --serif: 'Fraunces', Georgia, serif;
  --sans: 'Inter', -apple-system, sans-serif;
  --max: 1180px;
}

html { scroll-behavior:smooth; }
body {
  font-family:var(--sans); font-size:16.5px; line-height:1.65;
  background:var(--paper); color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
::selection { background:var(--signal); color:#fff; }
.wrap { max-width:var(--max); margin:0 auto; padding:0 28px; }
img { max-width:100%; }
a { color:inherit; }
h1,h2,h3,h4 { font-family:var(--serif); font-weight:500; letter-spacing:-0.01em; }

.kicker {
  font-size:12px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--signal); display:flex; align-items:center; gap:10px;
}
.kicker::before { content:''; width:26px; height:2px; background:var(--signal); transform-origin:left center; animation: kicker-draw .6s ease-out both; }
.kicker.center { justify-content:center; }
.kicker.center::after { content:''; width:26px; height:2px; background:var(--signal); transform-origin:right center; animation: kicker-draw .6s ease-out both; }
@keyframes kicker-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  .kicker::before, .kicker.center::after { animation: none; }
}

/* Hero headline animated verb */
.hero h1 em.hero-verb { display:inline-block; position:relative; }
.hero h1 em.hero-verb .hero-verb-word {
  display:inline-block;
  text-shadow: 0 0 32px rgba(192,69,31,0.18);
  animation: hero-verb-in 320ms ease-out both;
}
@keyframes hero-verb-in {
  from { opacity:0; transform: translateY(6px); }
  to { opacity:1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .hero h1 em.hero-verb .hero-verb-word { animation: none; }
}

/* Hero right column + live ticker beneath the widget */
.hero-right-col { display:flex; flex-direction:column; gap:14px; min-width:0; }
.hero-live-ticker {
  display:flex; align-items:center; gap:10px;
  padding:10px 16px;
  border:1px solid var(--line);
  border-radius:999px;
  background: color-mix(in oklab, var(--paper) 70%, transparent);
  backdrop-filter: blur(6px);
  font-size:13px;
  color:var(--soft);
  min-width:0;
  overflow:hidden;
}
.hero-live-ticker .hlt-dot {
  width:7px; height:7px; border-radius:50%;
  background: #3f7d52;
  box-shadow: 0 0 0 0 rgba(63,125,82,0.55);
  animation: hlt-pulse 1.8s infinite;
  flex:0 0 auto;
}
@keyframes hlt-pulse {
  0% { box-shadow: 0 0 0 0 rgba(63,125,82,0.55); }
  70% { box-shadow: 0 0 0 7px rgba(63,125,82,0); }
  100% { box-shadow: 0 0 0 0 rgba(63,125,82,0); }
}
.hero-live-ticker .hlt-label {
  font-family: var(--serif, 'Fraunces', Georgia, serif);
  font-style: italic;
  font-size:12.5px;
  color: var(--signal);
  flex:0 0 auto;
  letter-spacing:.01em;
}
.hero-live-ticker .hlt-msg {
  flex:1 1 auto; min-width:0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  animation: hlt-in 320ms ease-out both;
}
@keyframes hlt-in {
  from { opacity:0; transform: translateY(4px); }
  to { opacity:1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-live-ticker .hlt-dot { animation: none; }
  .hero-live-ticker .hlt-msg { animation: hlt-fade 260ms ease-out both; }
}
@keyframes hlt-fade { from { opacity:0; } to { opacity:1; } }

.btn {
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--sans); font-size:15px; font-weight:600;
  padding:14px 26px; border-radius:4px; text-decoration:none;
  border:1.5px solid transparent; cursor:pointer; transition:all .18s ease;
  white-space:nowrap;
}
.btn-primary { background:var(--ink); color:var(--paper-2); }
.btn-primary:hover { background:var(--signal); transform:translateY(-1px); }
.btn-ghost { border-color:var(--line-2); color:var(--ink); background:transparent; }
.btn-ghost:hover { border-color:var(--ink); }
.btn-signal { background:var(--signal); color:#fff; }
.btn-signal:hover { background:var(--signal-d); transform:translateY(-1px); }
.btn-light { background:var(--paper-2); color:var(--ink); }
.btn-light:hover { background:#fff; transform:translateY(-1px); }
.btn .arr { transition:transform .18s; }
.btn:hover .arr { transform:translateX(3px); }
.btn-sm { padding:10px 18px; font-size:14px; }

/* ============ NAV + MEGA MENU ============ */
header {
  position:fixed; top:0; left:0; right:0; z-index:300;
  background:var(--paper); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent; transition:background-color .25s, border-color .25s, backdrop-filter .25s;
}
header.scrolled { border-bottom-color:var(--line); background:var(--paper); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.nav { display:flex; align-items:center; justify-content:space-between; height:70px; gap:28px; }
.logo { display:flex; align-items:baseline; gap:2px; font-family:var(--serif); font-size:27px; font-weight:600; text-decoration:none; letter-spacing:-0.01em; }
.logo i { font-style:normal; color:var(--signal); }
.logo .grp { font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:.14em; color:var(--faint); text-transform:uppercase; margin-left:8px; }

.nav-links { display:flex; list-style:none; gap:4px; align-items:center; }
.nav-links > li { position:relative; }
.nav-links > li > a, .nav-links > li > button {
  display:flex; align-items:center; gap:6px;
  font-family:var(--sans); font-size:14px; font-weight:500; color:var(--soft);
  text-decoration:none; background:none; border:none; cursor:pointer;
  padding:10px 14px; border-radius:6px; transition:all .15s;
}
.nav-links > li > a:hover, .nav-links > li > button:hover,
.nav-links > li.open > button { color:var(--ink); background:var(--cream); }
.nav-links .chev { width:8px; height:8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .2s; }
.nav-links li.open .chev { transform:rotate(225deg) translateY(-1px); }
.nav-links > li > a.active { color:var(--signal); }

.mega {
  position:absolute; top:100%; left:50%; transform:translateX(-50%);
  background:#FFFCF6; border:1px solid var(--line); border-radius:12px;
  box-shadow:0 24px 70px -18px rgba(23,20,16,0.28);
  padding:14px; display:grid; gap:4px; min-width:340px;
  margin-top:0; padding-top:18px;
  opacity:0; pointer-events:none; transition:opacity .18s ease;
  z-index:120;
}
.mega::before { content:''; position:absolute; left:0; right:0; top:-16px; height:22px; background:transparent; }
.mega.wide { min-width:560px; grid-template-columns:1fr 1fr; }
li.open > .mega { opacity:1; pointer-events:auto; }
@media (min-width: 981px) {
  .nav-links > li:hover > .mega,
  .nav-links > li:focus-within > .mega { opacity:1; pointer-events:auto; }
  .nav-links > li:hover > button { color:var(--ink); background:var(--cream); }
}
.mega a {
  display:flex; gap:12px; align-items:flex-start; text-decoration:none;
  padding:12px 14px; border-radius:8px; transition:background .15s;
}
.mega a:hover { background:var(--cream); }
.mega .mi {
  flex:none; width:34px; height:34px; border-radius:8px; background:var(--signal-bg);
  display:flex; align-items:center; justify-content:center; font-size:15px; color:var(--signal);
  font-family:var(--serif);
}
.mega b { display:block; font-size:14px; font-weight:600; color:var(--ink); }
.mega span { font-size:12.5px; color:var(--faint); line-height:1.45; display:block; }
.mega .mega-feature {
  grid-column:1 / -1; background:var(--ink); border-radius:8px; color:var(--paper-2);
  padding:14px 16px; display:flex; justify-content:space-between; align-items:center; gap:14px;
}
.mega .mega-feature:hover { background:var(--ink-2); }
.mega .mega-feature b { color:#fff; }
.mega .mega-feature span { color:rgba(237,231,218,0.6); }
.mega .mega-feature .go { color:var(--signal); font-weight:700; font-size:18px; }

/* === Insights dropdown (refined) === */
.mega.mega-insights {
  min-width:600px; padding:18px; padding-top:20px; gap:2px;
  background:linear-gradient(180deg, #FFFCF6 0%, #FBF6EB 100%);
  box-shadow:0 30px 80px -22px rgba(23,20,16,0.32), 0 2px 6px rgba(23,20,16,0.04);
}
.mega.mega-insights .mega-label {
  grid-column:1 / -1; font-size:10.5px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--faint); padding:2px 14px 8px;
}
.mega.mega-insights .m-row {
  position:relative; padding:11px 36px 11px 12px; align-items:center; gap:13px;
  border:1px solid transparent; transition:background .15s, border-color .15s, transform .15s;
}
.mega.mega-insights .m-row:hover {
  background:#FFFFFF; border-color:var(--line);
}
.mega.mega-insights .m-row::after {
  content:''; position:absolute; right:14px; top:50%; width:6px; height:6px;
  border-right:1.5px solid var(--ink); border-top:1.5px solid var(--ink);
  transform:translateY(-50%) rotate(45deg) translateX(-3px);
  opacity:0; transition:opacity .15s, transform .15s;
}
.mega.mega-insights .m-row:hover::after {
  opacity:.55; transform:translateY(-50%) rotate(45deg) translateX(0);
}
.mega.mega-insights .mi {
  width:36px; height:36px; border-radius:10px;
  background:var(--mi-bg, var(--signal-bg));
  color:var(--mi-fg, var(--signal));
  border:1px solid color-mix(in srgb, var(--mi-fg, var(--signal)) 18%, transparent);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.5);
  font-family:inherit;
}
.mega.mega-insights .mi svg { width:18px; height:18px; }
.mega.mega-insights .m-txt { flex:1 1 auto; min-width:0; }
.mega.mega-insights .m-txt b {
  font-size:13.5px; font-weight:600; color:var(--ink); margin-bottom:2px;
}
.mega.mega-insights .m-txt > span {
  font-size:11.5px; color:var(--faint); line-height:1.4;
}
.mega.mega-insights .ct {
  flex:none; align-self:center; min-width:26px; text-align:center;
  font-size:10.5px; font-weight:700; letter-spacing:.04em; color:var(--faint);
  background:#F4EFE4; border:1px solid var(--line);
  padding:3px 7px; border-radius:999px;
  font-feature-settings:"tnum" 1;
}
.mega.mega-insights .m-row:hover .ct { color:var(--ink); background:#fff; }
.mega.mega-insights .ct.ct--live {
  background:var(--signal); color:#fff; border-color:var(--signal);
}

/* Per-pillar tints */
.mi--ai       { --mi-bg:#EFE8FF; --mi-fg:#5B3DC4; }
.mi--content  { --mi-bg:#E7F1EA; --mi-fg:#2D6A4F; }
.mi--pr       { --mi-bg:#FDE7DE; --mi-fg:#C2410C; }
.mi--web      { --mi-bg:#E2EEFB; --mi-fg:#1D4ED8; }
.mi--industry { --mi-bg:#F2EAD8; --mi-fg:#7A5A1F; }
.mi--vault    { --mi-bg:#FCE2DA; --mi-fg:var(--signal); }

/* Refined "All insights" feature */
.mega.mega-insights .insights-feature {
  grid-column:1 / -1; margin-top:10px;
  position:relative; overflow:hidden;
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(214,73,42,0.32) 0%, rgba(214,73,42,0) 55%),
    linear-gradient(180deg, #1F1B17 0%, #141110 100%);
  border:1px solid rgba(237,231,218,0.08);
  border-radius:10px; padding:16px 18px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  transition:transform .18s ease, box-shadow .18s ease;
}
.mega.mega-insights .insights-feature::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(60% 80% at 90% 10%, rgba(214,73,42,0.22), transparent 70%);
  opacity:0; transition:opacity .25s;
}
.mega.mega-insights .insights-feature:hover {
  transform:translateY(-1px);
  box-shadow:0 18px 40px -18px rgba(214,73,42,0.45);
  background:
    radial-gradient(120% 140% at 100% 0%, rgba(214,73,42,0.42) 0%, rgba(214,73,42,0) 55%),
    linear-gradient(180deg, #1F1B17 0%, #141110 100%);
}
.mega.mega-insights .insights-feature:hover::before { opacity:1; }
.mega.mega-insights .mf-l { display:flex; flex-direction:column; gap:2px; position:relative; z-index:1; }
.mega.mega-insights .mf-kicker {
  font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--signal); line-height:1;
}
.mega.mega-insights .mf-title {
  font-family:var(--serif); font-size:20px; font-weight:500; color:#fff;
  letter-spacing:-.01em; line-height:1.15; margin-top:4px;
}
.mega.mega-insights .mf-sub {
  font-size:12px; color:rgba(237,231,218,0.65); margin-top:2px;
}
.mega.mega-insights .mf-go {
  flex:none; position:relative; z-index:1;
  width:40px; height:40px; border-radius:999px;
  background:var(--signal); color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 0 rgba(214,73,42,0.5);
  transition:box-shadow .25s, transform .2s;
}
.mega.mega-insights .insights-feature:hover .mf-go {
  box-shadow:0 0 0 6px rgba(214,73,42,0.18);
  transform:translateX(2px);
}

.nav-cta {
  flex:none; font-size:14px; font-weight:600; color:var(--paper-2); text-decoration:none;
  background:var(--ink); padding:10px 20px; border-radius:5px; transition:background .18s;
}
.nav-cta:hover { background:var(--signal); }
.nav-signin {
  flex:none; font-size:14px; font-weight:600; color:var(--ink); text-decoration:none;
  padding:10px 14px; border-radius:5px; transition:color .18s, background .18s;
}
.nav-signin:hover { color:var(--signal); background:var(--cream); }
.nav-start-free {
  flex:none; font-size:14px; font-weight:700; color:#fff; text-decoration:none;
  background:var(--signal); padding:10px 18px; border-radius:5px;
  transition:background .18s, transform .18s;
}
.nav-start-free:hover { background:#b13e23; transform:translateY(-1px); }
@media (max-width: 980px){ .nav-signin, .nav-start-free { display:none; } }
.nav-start-free-mobile {
  display:inline-block; background:var(--signal); color:#fff !important; font-weight:700;
  padding:10px 16px; border-radius:5px; text-decoration:none;
}
.burger { display:none; background:none; border:none; cursor:pointer; padding:12px; position:relative; z-index:401; }
li.mob-only { display:none; }
@media (max-width: 980px){ li.mob-only { display:block; } }
.burger span { display:block; width:22px; height:2px; background:var(--ink); margin:5px 0; transition:all .25s; }
.burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ============ SPECTRUM RAIL ============ */
.spectrum { margin-top:40px; }
.spectrum-label { font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); margin-bottom:14px; }
.spectrum-rail { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.spectrum-rail::before {
  content:''; position:absolute; top:7px; left:7%; right:7%; height:2px;
  background:linear-gradient(90deg, var(--line-2), var(--signal));
}
.spec-stop { position:relative; text-align:center; padding-top:24px; text-decoration:none; }
.spec-stop::before {
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:16px; height:16px; border-radius:50%; background:var(--paper);
  border:3px solid var(--line-2); transition:all .2s;
}
.spec-stop:nth-child(4)::before { border-color:var(--signal); background:var(--signal); }
.spec-stop:hover::before, .spec-stop.current::before { border-color:var(--signal); background:var(--signal-bg); }
.spec-stop.current::before { background:var(--signal); }
.spec-stop b { display:block; font-size:13.5px; font-weight:600; }
.spec-stop span { font-size:11.5px; color:var(--faint); }
.spec-stop:hover b { color:var(--signal); }

/* ============ PAGE HERO (inner pages) ============ */
.page-hero { padding:110px 0 40px; position:relative; overflow:hidden; }
.page-hero .crumb { font-size:12.5px; color:var(--faint); margin-bottom:14px; }
.page-hero .crumb a { text-decoration:none; }
.page-hero .crumb a:hover { color:var(--signal); }
.page-hero h1 { font-size:clamp(34px,4vw,52px); line-height:1.05; margin:10px 0 14px; max-width:820px; }
.page-hero h1 em { font-style:italic; font-weight:400; color:var(--signal); }
.page-hero .lede { font-size:17.5px; color:var(--soft); max-width:620px; }
.page-hero.dark { background:var(--ink); color:#EDE7DA; }
.page-hero.dark h1 { color:#FFFDF6; }
.page-hero.dark .lede { color:rgba(237,231,218,0.65); }
.page-hero.dark .crumb { color:rgba(237,231,218,0.4); }
.page-hero .hero-split { display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:end; }
.page-hero .hero-split > .hero-left { min-width:0; }
.page-hero .hero-split > .hero-right { min-width:0; padding-bottom:6px; }
.page-hero .hero-split h1 { max-width:none; }
.page-hero .hero-split .lede { max-width:none; }
@media (max-width:860px){
  .page-hero { padding:96px 0 32px; }
  .page-hero .hero-split { grid-template-columns:1fr; gap:18px; align-items:start; }
  .page-hero .hero-split > .hero-right { padding-bottom:0; }
}

/* ============ SECTIONS ============ */
section { padding:96px 0; position:relative; }
.sec-head { max-width:700px; margin-bottom:54px; }
.sec-head.center { margin-left:auto; margin-right:auto; text-align:center; }
.sec-head h2 { font-size:clamp(30px,3.6vw,44px); line-height:1.12; margin:20px 0 16px; }
.sec-head h2 em { font-style:italic; font-weight:400; color:var(--signal); }
.sec-head p { font-size:17px; color:var(--soft); }
.dark-sec { background:var(--ink); color:#EDE7DA; }
.dark-sec .sec-head h2 { color:#FFFDF6; }
.dark-sec .sec-head p { color:rgba(237,231,218,0.65); }
.cream-sec { background:var(--cream); }

/* aurora + grain backdrops */
.aurora { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.aurora i {
  position:absolute; border-radius:50%; filter:blur(90px); opacity:.5;
  animation:drift 16s ease-in-out infinite;
}
.aurora i:nth-child(1) { width:480px; height:480px; background:rgba(214,73,42,0.10); top:-160px; right:-80px; }
.aurora i:nth-child(2) { width:360px; height:360px; background:rgba(200,162,74,0.12); bottom:-120px; left:-60px; animation-delay:-6s; }
.aurora i:nth-child(3) { width:300px; height:300px; background:rgba(46,107,79,0.08); top:40%; left:55%; animation-delay:-11s; }
@keyframes drift {
  0%,100% { transform:translate(0,0) scale(1); }
  33% { transform:translate(24px,-30px) scale(1.06); }
  66% { transform:translate(-18px,20px) scale(0.97); }
}
.net-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }

/* ============ ENGINE MARKS ============ */
.emark { display:inline-flex; align-items:center; justify-content:center; }
.emark svg { width:100%; height:100%; display:block; }

/* engine picker buttons */
.epick { display:flex; gap:8px; flex-wrap:wrap; }
.epick button {
  display:flex; align-items:center; gap:8px; cursor:pointer;
  font-family:var(--sans); font-size:12.5px; font-weight:600;
  background:rgba(237,231,218,0.05); color:rgba(237,231,218,0.65);
  border:1px solid rgba(237,231,218,0.16); border-radius:100px; padding:7px 14px 7px 9px;
  transition:all .2s;
}
.epick button .emark { width:18px; height:18px; }
.epick button:hover { border-color:rgba(237,231,218,0.4); color:#fff; }
.epick button.active { background:#FFFDF6; border-color:#FFFDF6; color:var(--ink); }

/* ============ CARDS / GRIDS ============ */
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.card {
  background:var(--paper-2); border:1px solid var(--line); border-radius:12px;
  padding:34px 30px; transition:transform .2s, box-shadow .2s, border-color .2s;
}
.card:hover { transform:translateY(-4px); box-shadow:0 20px 50px -18px rgba(23,20,16,0.18); border-color:var(--line-2); }
.card h3 { font-size:22px; margin-bottom:10px; }
.card p { font-size:14.5px; color:var(--soft); }
.card .ico {
  width:44px; height:44px; border-radius:10px; background:var(--signal-bg);
  display:flex; align-items:center; justify-content:center; margin-bottom:20px;
  color:var(--signal); font-family:var(--serif); font-size:18px;
}

/* card with illustration band */
.card.card--art { padding:0; overflow:hidden; display:flex; flex-direction:column; }
.card.card--art .card-art {
  aspect-ratio: 16 / 9; background:var(--paper); border-bottom:1px solid var(--line);
  overflow:hidden;
}
.card.card--art .card-art img { width:100%; height:100%; object-fit:cover; display:block; }
.card.card--art .card-body { padding:26px 28px 30px; }
.card.card--art:hover .card-art { border-bottom-color:var(--line-2); }

/* checklist */
.ticks { list-style:none; display:flex; flex-direction:column; gap:9px; margin-top:16px; }
.ticks li { font-size:14px; color:var(--soft); padding-left:22px; position:relative; }
.ticks li::before { content:'✓'; position:absolute; left:0; color:var(--moss); font-weight:700; }
.ticks li.star::before { content:'★'; color:var(--gold); }

/* stat strip */
.strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--paper-2); }
.strip-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.strip-item { padding:26px 22px; border-left:1px solid var(--line); }
.strip-item:first-child { border-left:none; }
.strip-item b { display:block; font-family:var(--serif); font-size:25px; font-weight:500; }
.strip-item span { font-size:13px; color:var(--faint); }

/* benefits strip */
.strip-grid--benefits { grid-template-columns:repeat(4,1fr); }
.benefit { padding:28px 22px; border-left:1px solid var(--line); display:flex; flex-direction:column; gap:10px; }
.benefit:first-child { border-left:none; }
.benefit-ico {
  width:34px; height:34px; border-radius:10px;
  background:color-mix(in oklab, var(--signal) 14%, var(--paper-2));
  color:var(--signal);
  display:inline-grid; place-items:center;
}
.benefit b { display:block; font-family:var(--serif); font-size:20px; font-weight:500; line-height:1.2; color:var(--ink); }
.benefit-sub { font-size:13.5px; color:var(--soft); line-height:1.45; }
.benefit-tag {
  margin-top:auto; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--signal); font-weight:600;
}
@media (max-width:720px) {
  .strip-grid--benefits { grid-template-columns:repeat(2,1fr); }
  .benefit:nth-child(odd) { border-left:none; }
  .benefit:nth-child(n+3) { border-top:1px solid var(--line); }
}

/* big quote */
.bigquote {
  font-family:var(--serif); font-size:clamp(22px,2.6vw,30px); font-style:italic;
  border-left:3px solid var(--signal); padding-left:24px; max-width:640px;
}

/* ============ PRICING ============ */
.toggle { display:inline-flex; background:var(--cream); border-radius:100px; padding:4px; }
.toggle button {
  font-family:var(--sans); font-size:14px; font-weight:600; border:none; cursor:pointer;
  background:transparent; color:var(--soft); padding:10px 24px; border-radius:100px; transition:all .2s;
}
.toggle button.active { background:var(--ink); color:var(--paper-2); }
.plans { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.plans.three { grid-template-columns:repeat(3,1fr); }
.plan {
  border:1px solid var(--line); border-radius:12px; padding:30px 26px; background:var(--paper);
  display:flex; flex-direction:column; position:relative; transition:transform .2s, box-shadow .2s;
}
.plan:hover { transform:translateY(-3px); box-shadow:0 18px 44px -18px rgba(23,20,16,0.16); }
.plan.featured { border:2px solid var(--ink); background:var(--paper-2); }
.plan .flag {
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:var(--signal); color:#fff; font-size:10.5px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; padding:4px 14px; border-radius:100px; white-space:nowrap;
}
.plan h3 { font-size:20px; margin-bottom:4px; }
.plan .for { font-size:12.5px; color:var(--faint); margin-bottom:16px; min-height:34px; }
.plan .amt { font-family:var(--serif); font-size:36px; font-weight:500; }
.plan .amt small { font-family:var(--sans); font-size:13px; color:var(--faint); font-weight:500; }
.plan .was { font-size:12.5px; color:var(--faint); text-decoration:line-through; min-height:18px; display:block; }
.plan ul { list-style:none; margin:20px 0 26px; display:flex; flex-direction:column; gap:9px; flex:1; }
.plan li { font-size:13.5px; color:var(--soft); padding-left:24px; position:relative; }
.plan li::before { content:''; position:absolute; left:0; top:2px; width:16px; height:16px; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E6B4F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='m8 12 3 3 5-6'/></svg>"); background-repeat:no-repeat; background-size:contain; }
.plan li.star::before { content:''; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23C9A961' stroke='%23C9A961' stroke-width='1.2' stroke-linejoin='round'><path d='M12 2.5l2.9 6.3 6.9.7-5.2 4.7 1.5 6.8L12 17.6l-6.1 3.4 1.5-6.8L2.2 9.5l6.9-.7z'/></svg>"); }
.plan li b { color:var(--ink); font-weight:600; }
.plan .btn { justify-content:center; }

/* ============ INSIGHTS ============ */
.pillar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pillar-card {
  background:var(--paper-2); border:1px solid var(--line); border-radius:12px; padding:28px 26px;
  text-decoration:none; display:block; transition:all .2s; position:relative; overflow:hidden;
}
.pillar-card::after {
  content:'→'; position:absolute; right:24px; bottom:20px; color:var(--signal);
  font-weight:700; opacity:0; transform:translateX(-6px); transition:all .2s; z-index:2;
}
.pillar-card:hover { transform:translateY(-4px); box-shadow:0 20px 50px -18px rgba(23,20,16,0.16); }
.pillar-card:hover::after { opacity:1; transform:none; }
.pillar-card .count { font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--signal); position:relative; z-index:2; }
.pillar-card h3 { font-size:19px; margin:10px 0 8px; position:relative; z-index:2; }
.pillar-card p { font-size:13.5px; color:var(--soft); position:relative; z-index:2; }

.pillar-card.has-bg {
  background-color:#171410;
  min-height:240px; border-color:rgba(255,255,255,0.08);
  color:#fff;
}
.pillar-card .pillar-bg {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:0;
}
.pillar-card.has-bg::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(23,20,16,0.25) 0%, rgba(23,20,16,0.55) 55%, rgba(23,20,16,0.88) 100%);
  z-index:1; transition:opacity .2s;
}
.pillar-card.has-bg .count { color:#F4A38C; text-shadow:0 1px 2px rgba(0,0,0,0.4); }
.pillar-card.has-bg h3 { color:#fff; text-shadow:0 1px 3px rgba(0,0,0,0.5); }
.pillar-card.has-bg p { color:rgba(255,255,255,0.85); text-shadow:0 1px 2px rgba(0,0,0,0.45); }
.pillar-card.has-bg::after { color:#fff; }
.pillar-card.has-bg:hover::before { background:linear-gradient(180deg, rgba(23,20,16,0.15) 0%, rgba(23,20,16,0.5) 55%, rgba(23,20,16,0.85) 100%); }


.article-card {
  background:var(--paper-2); border:1px solid var(--line); border-radius:12px;
  overflow:hidden; text-decoration:none; display:flex; flex-direction:column;
  transition:transform .2s, box-shadow .2s;
}
.article-card:hover { transform:translateY(-4px); box-shadow:0 20px 50px -18px rgba(23,20,16,0.18); }
.article-card .art-visual {
  height:150px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.article-card .art-body { padding:22px 24px 24px; display:flex; flex-direction:column; flex:1; }
.article-card .tag { font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--signal); margin-bottom:8px; }
.article-card h3 { font-size:18px; line-height:1.3; margin-bottom:8px; }
.article-card p { font-size:13.5px; color:var(--soft); flex:1; }
.article-card .meta { font-size:12px; color:var(--faint); margin-top:14px; }

/* vault report cards */
.reg-card {
  background:var(--ink-2); border:1px solid rgba(237,231,218,0.12); border-radius:12px;
  padding:26px; text-decoration:none; display:block; color:#EDE7DA;
  transition:transform .2s, border-color .2s;
}
.reg-card:hover { transform:translateY(-4px); border-color:var(--signal); }
.reg-card .rc-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.reg-card .rc-type { font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--signal); }
.reg-card .rc-live { display:flex; align-items:center; gap:6px; font-size:10.5px; color:rgba(237,231,218,0.5); }
.reg-card .rc-live i { width:7px; height:7px; border-radius:50%; background:var(--moss); animation:pulse 2s infinite; }
@keyframes pulse { 50% { opacity:.3; } }
.reg-card h3 { font-size:19px; color:#FFFDF6; margin-bottom:8px; line-height:1.3; }
.reg-card p { font-size:13.5px; color:rgba(237,231,218,0.6); }
.reg-card .rc-spark { margin:16px 0 4px; }
.reg-card .meta { font-size:12px; color:rgba(237,231,218,0.4); margin-top:12px; }

/* ============ ARTICLE PAGE ============ */
.article-hero { padding:160px 0 50px; }
.article-body { max-width:720px; margin:0 auto; }
.article-body p { margin-bottom:22px; font-size:17px; color:var(--ink-3); }
.article-body h2 { font-size:28px; margin:44px 0 16px; }
.article-body h3 { font-size:21px; margin:34px 0 12px; }
.article-body ul, .article-body ol { margin:0 0 22px 22px; color:var(--ink-3); }
.article-body li { margin-bottom:8px; }
.article-meta { display:flex; gap:18px; align-items:center; font-size:13px; color:var(--faint); flex-wrap:wrap; }
.article-meta .by { display:flex; align-items:center; gap:10px; }
.article-meta .by .init { width:34px; height:34px; border-radius:50%; background:var(--ink); color:var(--paper-2); font-family:var(--serif); font-size:13px; display:flex; align-items:center; justify-content:center; }
.data-callout {
  background:var(--ink); color:#EDE7DA; border-radius:12px; padding:30px;
  margin:34px 0; font-size:15px;
}
.data-callout b { color:#fff; }
.data-callout .src { display:block; margin-top:12px; font-size:12px; color:rgba(237,231,218,0.45); }
.method-note {
  border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:0 8px 8px 0;
  background:var(--paper-2); padding:20px 24px; font-size:14px; color:var(--soft); margin:34px 0;
}
.figure-card { background:var(--paper-2); border:1px solid var(--line); border-radius:12px; padding:26px; margin:34px 0; }
.figure-card figcaption { font-size:12.5px; color:var(--faint); margin-top:14px; }

/* data tables */
.dtable { width:100%; border-collapse:collapse; font-size:14px; margin:10px 0; }
.dtable th { text-align:left; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); padding:10px 12px; border-bottom:2px solid var(--ink); }
.dtable td { padding:11px 12px; border-bottom:1px solid var(--line); }
.dtable .up { color:var(--moss); font-weight:700; }
.dtable .down { color:var(--signal); font-weight:700; }
.dtable .you-row { background:var(--signal-bg); }

/* ============ CTA BAND ============ */
.cta-band { background:var(--ink); color:#EDE7DA; padding:96px 0; position:relative; overflow:hidden; }
.cta-inner { max-width:740px; margin:0 auto; text-align:center; position:relative; z-index:1; }
.cta-band h2 { font-size:clamp(32px,4vw,50px); color:#FFFDF6; line-height:1.08; margin:22px 0 16px; }
.cta-band h2 em { font-style:italic; font-weight:400; color:var(--signal); }
.cta-band p { color:rgba(237,231,218,0.65); font-size:17px; margin-bottom:36px; }
.check-form { display:flex; gap:10px; max-width:560px; margin:0 auto; }
.check-form input {
  flex:1; font-family:var(--sans); font-size:15px; padding:15px 18px; border-radius:5px;
  border:1px solid rgba(237,231,218,0.2); background:rgba(237,231,218,0.06); color:#fff; outline:none;
}
.check-form input::placeholder { color:rgba(237,231,218,0.4); }
.check-form input:focus { border-color:var(--signal); }
.cta-note { font-size:13px; color:rgba(237,231,218,0.45); margin-top:16px; }
.form-done { display:none; font-size:17px; color:#fff; background:rgba(46,107,79,0.25); border:1px solid var(--moss); border-radius:6px; padding:18px 24px; }

/* ============ FOOTER ============ */
footer { background:var(--ink); color:rgba(237,231,218,0.55); border-top:1px solid rgba(237,231,218,0.1); padding:72px 0 36px; font-size:13.5px; position:relative; }
footer::before { content:""; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, rgba(199,87,42,0.45), transparent); }
.foot-grid { display:grid; grid-template-columns:1.6fr repeat(4, 1fr); gap:48px 32px; margin-bottom:48px; }
.foot-brand .logo { color:#FFFDF6; font-size:22px; margin-bottom:14px; display:inline-flex; }
.foot-tag { font-size:14px; line-height:1.55; color:rgba(237,231,218,0.78); max-width:320px; margin-bottom:18px; }
.foot-meta { font-size:12px; line-height:1.7; color:rgba(237,231,218,0.42); margin-bottom:20px; }
.foot-grid h4 { font-family:var(--sans); font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(237,231,218,0.95); margin-bottom:18px; display:flex; align-items:center; gap:10px; }
.foot-grid h4::before { content:""; width:2px; height:13px; background:var(--signal); border-radius:2px; display:inline-block; }
.foot-grid ul { list-style:none; display:flex; flex-direction:column; gap:11px; padding:0; margin:0; }
.foot-grid a { text-decoration:none; color:rgba(237,231,218,0.68); transition:color .15s, transform .15s; display:inline-block; }
.foot-grid a:hover { color:#fff; transform:translateX(2px); }
.foot-social { display:flex; gap:10px; }
.foot-social a { width:34px; height:34px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:rgba(237,231,218,0.06); color:rgba(237,231,218,0.78); border:1px solid rgba(237,231,218,0.08); transition:all .18s ease; }
.foot-social a:hover { background:rgba(199,87,42,0.18); border-color:rgba(199,87,42,0.45); color:#fff; transform:translateY(-1px); }
.foot-base { border-top:1px solid rgba(237,231,218,0.1); padding-top:24px; font-size:12px; color:rgba(237,231,218,0.45); display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; }
.foot-legal a { color:rgba(237,231,218,0.7); text-decoration:none; margin:0 2px; transition:color .15s; }
.foot-legal a:hover { color:#fff; text-decoration:underline; }
@media (max-width: 980px) {
  .foot-grid { grid-template-columns:1fr 1fr; gap:36px 24px; }
  .foot-brand { grid-column:1 / -1; }
  .foot-base { flex-direction:column; align-items:flex-start; gap:10px; text-align:left; }
}
@media (max-width: 560px) {
  .foot-grid { grid-template-columns:1fr; }
}


/* ============ REVEAL ============ */
.js .reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.js .reveal.in { opacity:1; transform:none; }

/* ============ RESPONSIVE ============ */
@media (max-width: 980px) {
  .grid-3, .grid-2, .pillar-grid, .plans, .plans.three { grid-template-columns:1fr; }
  .strip-grid { grid-template-columns:1fr 1fr; }
  .strip-item:nth-child(odd) { border-left:none; }
  .spectrum-rail { grid-template-columns:repeat(2,1fr); gap:22px 0; }
  .spectrum-rail::before { display:none; }
  .nav-links {
    display:flex; position:absolute; top:70px; left:0; right:0;
    background:var(--paper-2); flex-direction:column; align-items:stretch;
    padding:20px; gap:6px; border-bottom:1px solid var(--line); max-height:calc(100vh - 70px); overflow:auto;
    opacity:0; visibility:hidden; pointer-events:none;
    transform:translateY(-12px) scale(.98); transform-origin:top right;
    transition:opacity .24s ease, transform .24s ease, visibility 0s linear .24s;
  }
  .nav-links.open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0) scale(1); transition:opacity .24s ease, transform .24s ease, visibility 0s; }
  .nav-links > li { opacity:0; transform:translateY(-6px); transition:opacity .25s ease, transform .25s ease; }
  .nav-links.open > li { opacity:1; transform:none; }
  .nav-links.open > li:nth-child(1){ transition-delay:.04s }
  .nav-links.open > li:nth-child(2){ transition-delay:.08s }
  .nav-links.open > li:nth-child(3){ transition-delay:.12s }
  .nav-links.open > li:nth-child(4){ transition-delay:.16s }
  .nav-links.open > li:nth-child(5){ transition-delay:.20s }
  .nav-links.open > li:nth-child(6){ transition-delay:.24s }
  .nav-links > li > a, .nav-links > li > button { width:100%; justify-content:space-between; padding:14px 16px; font-size:15.5px; }
  .nav-links > li > a.nav-signin-mobile { color:var(--signal); }
  .mega { position:static; transform:none; opacity:1; pointer-events:auto;
    display:grid; max-height:0; overflow:hidden; padding:0 14px;
    box-shadow:none; border:none; background:var(--cream); min-width:0; border-radius:8px;
    transition:max-height .28s ease, padding .28s ease; }
  .mega::before { display:none; }
  .mega.wide { min-width:0; grid-template-columns:1fr; }
  li.open > .mega { max-height:600px; padding:8px 14px; }
  .burger { display:block; }
  .check-form { flex-direction:column; }
  body.nav-open { overflow:hidden; touch-action:none; }
}

/* ============ INSIGHT PILLARS HUB (homepage) ============ */
.pillar-hub { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.pillar-card {
  display:flex; flex-direction:column; gap:10px;
  background:var(--paper-2); border:1px solid var(--line);
  border-radius:12px; padding:22px 22px 20px;
  text-decoration:none; color:var(--ink);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.pillar-card:hover { transform:translateY(-2px); border-color:var(--signal); box-shadow:0 18px 40px -22px rgba(23,20,16,0.25); }
.pillar-card h3 { font-family:var(--serif); font-size:20px; font-weight:500; line-height:1.2; margin:0; color:var(--ink); }
.pillar-card p { font-size:13.5px; line-height:1.5; color:var(--soft); margin:0; flex:1; }
.pillar-card .pc-meta { font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--signal); margin-top:4px; }
@media (max-width:960px){ .pillar-hub { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .pillar-hub { grid-template-columns:1fr; } }

.foot-grid .foot-legal-2 { margin-top:11px; padding-top:11px; border-top:1px solid rgba(237,231,218,0.08); }
