/* ── Marketing pages – shared styles ──
   Extends the blog design tokens + nav/footer for standalone marketing pages.
   Dark-first with theme-aware overrides.
*/
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

:root{
  --bg:#0F172A;
  --bg-s:#131e30;
  --bg-c:#1a2740;
  --blue:#60A5FA;
  --blue-dim:rgba(96,165,250,.08);
  --btn-bg:#2563EB;
  --btn-hover:#1d4ed8;
  --slate:#94A3B8;
  --text:#F8FAFC;
  --b:rgba(148,163,184,.12);
  --green:#34D399;
  --green-bg:rgba(52,211,153,.1);
  --amber:#FBBF24;
  --amber-bg:rgba(251,191,36,.1);
  --red:#F87171;
  --topnav-h:84px;
  --r:10px;
  --max-w:1120px;
}
/* Light theme. Every page hardcodes <html data-theme="dark">, but
   pages/*.html also runs a small inline script early in <head> that reads
   the SAME 'tt_theme' localStorage key the authenticated app writes
   (the-trading-terminal.html) and overrides data-theme on the fly — so a
   user who picked Light in the app's own Settings genuinely lands on
   these selectors here on marketing pages too. This was previously
   removed as "dead code" on the mistaken assumption that the hardcoded
   HTML attribute was the only thing that mattered; it wasn't, and that
   removal silently broke real cross-app theme consistency for those
   users. Restored, with --slate/--green/--amber darkened from the
   original values, which failed WCAG AA (4.31:1, 3.77:1, 3.19:1 against
   this theme's backgrounds — all below the 4.5:1 minimum for normal
   text). Every other token here is unchanged from the original, since it
   already passed. */
@media(prefers-color-scheme:light){
  :root:not([data-theme="dark"]):not([data-theme="graphite"]){
    --bg:#F0F4F8;--bg-s:#FFFFFF;--bg-c:#FFFFFF;
    --blue:#2563EB;--blue-dim:rgba(37,99,235,.06);
    --btn-bg:#2563EB;--btn-hover:#1e40af;
    --slate:#5B6B80;--text:#0F172A;
    --b:rgba(15,23,42,.08);
    --green:#047857;--green-bg:rgba(5,150,105,.08);
    --amber:#9A5B0A;--amber-bg:rgba(217,119,6,.08);
    --red:#DC2626;
  }
}
/* Graphite — the app's neutral-grey dark theme. A visitor who picked it in the
   app arrives here with data-theme="graphite"; without this block they got the
   blue theme (or, on a light OS, the light one). Same accent blue as Midnight. */
:root[data-theme="graphite"]{
  --bg:#18181B;--bg-s:#202023;--bg-c:#27272A;
  --blue:#60A5FA;--blue-dim:rgba(96,165,250,.08);
  --btn-bg:#2563EB;--btn-hover:#1d4ed8;
  --slate:#A1A1AA;--text:#FAFAFA;
  --b:rgba(250,250,250,.08);
}
:root[data-theme="light"]{
  --bg:#F0F4F8;--bg-s:#FFFFFF;--bg-c:#FFFFFF;
  --blue:#2563EB;--blue-dim:rgba(37,99,235,.06);
  --btn-bg:#2563EB;--btn-hover:#1e40af;
  --slate:#5B6B80;--text:#0F172A;
  --b:rgba(15,23,42,.08);
  --green:#047857;--green-bg:rgba(5,150,105,.08);
  --amber:#9A5B0A;--amber-bg:rgba(217,119,6,.08);
  --red:#DC2626;
}

html{font-size:16px;scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,sans-serif;line-height:1.7;min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}

/* ── TOP NAV ── */
.mkt-topnav{
  position:fixed;top:0;left:0;right:0;
  height:var(--topnav-h);
  background:var(--bg-s);
  border-bottom:1px solid var(--b);
  display:flex;align-items:center;justify-content:space-between;
  z-index:200;padding:0 24px;
}
.mkt-topnav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;height:var(--topnav-h);overflow:hidden}
.mkt-topnav-logo img{height:120px;width:auto}
.mkt-topnav-nav{display:flex;align-items:center;gap:4px}
.mkt-topnav-nav a{
  color:var(--slate);text-decoration:none;
  font-size:15px;font-family:'Chakra Petch',sans-serif;
  letter-spacing:.02em;white-space:nowrap;
  padding:6px 12px;border-radius:4px;transition:color .15s;
}
.mkt-topnav-nav a:hover{color:var(--text);text-decoration:none}
.mkt-topnav-nav a.active{color:var(--text);font-weight:600}
.mkt-topnav-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.mkt-topnav-signin{
  color:var(--text);text-decoration:none !important;
  padding:9px 18px;border-radius:var(--r);border:1px solid var(--b);
  font-size:14px !important;font-weight:600;
  font-family:'Chakra Petch',sans-serif;
  letter-spacing:.04em;white-space:nowrap;
  transition:border-color .15s,color .15s;
}
.mkt-topnav-signin:hover{border-color:var(--text);color:var(--text)}
.mkt-topnav-cta{
  background:var(--btn-bg);color:#fff !important;
  padding:9px 22px;border-radius:var(--r);
  font-size:14px !important;font-weight:700;
  font-family:'Chakra Petch',sans-serif;
  letter-spacing:.04em;white-space:nowrap;
  transition:background .15s;text-decoration:none !important;
}
.mkt-topnav-cta:hover{background:var(--btn-hover) !important}
.mkt-topnav-toggle{
  display:none;align-items:center;justify-content:center;
  width:40px;height:40px;
  background:none;border:1px solid var(--b);border-radius:var(--r);
  color:var(--slate);font-size:20px;cursor:pointer;
}
.mkt-mobile-menu{
  display:none;position:fixed;top:var(--topnav-h);left:0;right:0;
  background:var(--bg-s);border-bottom:1px solid var(--b);
  padding:12px 24px 20px;z-index:199;
  flex-direction:column;gap:4px;
}
.mkt-mobile-menu.open{display:flex}
.mkt-mobile-menu a{
  display:block;padding:10px 8px;
  color:var(--slate);font-size:14px;font-family:'Chakra Petch',sans-serif;
  border-radius:var(--r);transition:all .15s;text-decoration:none;
}
.mkt-mobile-menu a:hover,.mkt-mobile-menu a.active{color:var(--text);background:var(--blue-dim)}

/* ── MAIN WRAPPER ── */
.mkt-main{padding-top:var(--topnav-h);min-height:100vh;display:flex;flex-direction:column}
.mkt-content{flex:1}

/* ── HERO ── */
.mkt-hero{
  max-width:var(--max-w);margin:0 auto;
  padding:64px 32px 48px;
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
}
.mkt-hero-eyebrow{
  font-family:'Chakra Petch',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue);margin-bottom:14px;
}
.mkt-hero h1{
  font-family:'Chakra Petch',sans-serif;
  font-size:clamp(1.6rem,3.5vw,2.6rem);
  font-weight:700;line-height:1.15;
  margin-bottom:18px;text-wrap:balance;
}
.mkt-hero h1 .hl{color:var(--blue)}
.mkt-hero-sub{color:var(--slate);font-size:15px;line-height:1.65;max-width:480px;margin-bottom:28px}
.mkt-hero-cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:20px}
.mkt-hero-shot{border-radius:12px;border:1px solid var(--b);overflow:hidden;background:var(--bg-c)}
.mkt-hero-shot img{width:100%;height:auto;display:block}

/* ── BUTTONS ── */
.btn-primary{
  display:inline-flex;align-items:center;
  background:var(--btn-bg);color:#fff;border:none;
  padding:13px 28px;border-radius:var(--r);
  font-family:'Chakra Petch',sans-serif;
  font-size:15px;font-weight:700;cursor:pointer;
  text-decoration:none;transition:background .15s;
  letter-spacing:.03em;white-space:nowrap;
}
.btn-primary:hover{background:var(--btn-hover);text-decoration:none}
.btn-secondary{
  display:inline-flex;align-items:center;
  background:var(--bg-c);color:var(--text);border:1px solid var(--b);
  padding:13px 28px;border-radius:var(--r);
  font-family:'Chakra Petch',sans-serif;
  font-size:15px;font-weight:700;cursor:pointer;
  text-decoration:none;transition:all .15s;
  letter-spacing:.03em;white-space:nowrap;
}
.btn-secondary:hover{border-color:var(--blue);color:var(--blue);text-decoration:none}
.btn-hint{font-size:12px;color:var(--slate)}
.mkt-founder-note{font-size:12.5px;line-height:1.6;color:var(--slate);margin:10px 0 0}

/* Breadcrumb: line up with the section content instead of the screen edge. */
.mkt-content>nav{padding:0 32px}
@media(max-width:767px){.mkt-content>nav{padding:0 20px}}

/* Button pairs: one row on wide screens, an even stacked column on phones,
   with a real gap and both buttons the same width and centred. */
.btn-primary,.btn-secondary{justify-content:center;text-align:center;box-sizing:border-box}
.mkt-cta-row .btn-primary,.mkt-hero-cta .btn-primary{border:1px solid transparent}
.mkt-cta-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:20px}
@media(max-width:560px){
  .mkt-cta-row,.mkt-hero-cta{flex-direction:column;align-items:stretch;gap:12px;width:100%}
  .mkt-cta-row{max-width:340px}
  .mkt-cta-row{margin-left:auto;margin-right:auto}
  .mkt-cta-row .btn-primary,.mkt-cta-row .btn-secondary,
  .mkt-hero-cta .btn-primary,.mkt-hero-cta .btn-secondary{width:100%;white-space:normal}
}

/* ── SECTIONS ── */
.mkt-section{max-width:var(--max-w);margin:0 auto;padding:56px 32px}
.mkt-section-narrow{max-width:720px;margin:0 auto;padding:56px 32px}
.mkt-eyebrow{
  font-family:'Chakra Petch',sans-serif;
  font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue);margin-bottom:12px;
}
.mkt-eyebrow.center{text-align:center}
.mkt-section-title{
  font-family:'Chakra Petch',sans-serif;
  font-size:clamp(1.4rem,3vw,2rem);
  font-weight:700;line-height:1.2;
  margin-bottom:12px;text-wrap:balance;
}
.mkt-section-title.center{text-align:center}
.mkt-section-sub{color:var(--slate);font-size:15px;line-height:1.6;max-width:600px}
.mkt-section-sub.center{text-align:center;margin:0 auto}
.mkt-divider{border:none;border-top:1px solid var(--b);margin:0 auto;max-width:var(--max-w)}

/* ── DATA STRIP ── */
.mkt-data-strip{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--b);border-radius:var(--r);overflow:hidden;
}
.mkt-data-strip.cols-3{grid-template-columns:repeat(3,1fr)}
.mkt-data-strip.cols-5{grid-template-columns:repeat(5,1fr)}
.mkt-ds-sub{font-size:11px;line-height:1.4;color:var(--slate);margin-top:3px}
.mkt-ds-cell{background:var(--bg-c);padding:20px 18px}
.mkt-ds-label{font-size:11px;color:var(--slate);margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em;font-family:'Chakra Petch',sans-serif}
.mkt-ds-value{font-family:'Chakra Petch',sans-serif;font-size:1.1rem;font-weight:700;color:var(--text)}
.mkt-ds-value .g{color:var(--green)}

/* ── BENTO GRID (features) ── */
.mkt-bento{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;
}
.mkt-bento-item{
  background:var(--bg-c);border:1px solid var(--b);border-radius:12px;padding:28px 24px;
}
.mkt-bento-item.wide{grid-column:span 2}
.mkt-bento-item h3{
  font-family:'Chakra Petch',sans-serif;font-size:1rem;font-weight:700;
  margin-bottom:8px;
}
.mkt-bento-item p{color:var(--slate);font-size:14px;line-height:1.65}

/* ── MODULE GRID ── */
.mkt-grid-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:24px}
.mkt-mod{
  background:var(--bg-c);border:1px solid var(--b);border-radius:var(--r);
  padding:18px 16px;
}
.mkt-mod-head{
  display:flex;align-items:center;gap:8px;
  font-family:'Chakra Petch',sans-serif;font-size:10px;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--slate);margin-bottom:10px;
}
.mkt-mod-dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}
.mkt-mod-tier{
  font-size:9px;font-weight:700;letter-spacing:.06em;
  padding:2px 6px;border-radius:4px;text-transform:uppercase;
}
.mkt-mod-tier.free{background:var(--green-bg);color:var(--green)}
.mkt-mod-tier.pro{background:var(--blue-dim);color:var(--blue)}
.mkt-mod-tier.elite{background:var(--amber-bg);color:var(--amber)}
/* Small plan tag inside a sentence ("Pro" / "Elite" next to a feature that is not on the Free plan) */
.mkt-mod-tier.inline{margin-left:5px;vertical-align:middle;white-space:nowrap}
.mkt-mod h3{font-family:'Chakra Petch',sans-serif;font-size:.85rem;font-weight:700;margin-bottom:4px}
.mkt-mod p{font-size:12.5px;color:var(--slate);line-height:1.5}

/* ── FEATURE MANIFEST (features page) ── */
.mkt-manifest-item{
  display:grid;grid-template-columns:2fr 3fr;gap:40px;
  padding:56px 32px;max-width:var(--max-w);margin:0 auto;
  align-items:center;
  border-bottom:1px solid var(--b);
}
.mkt-manifest-item:nth-child(even){direction:rtl}
.mkt-manifest-item:nth-child(even)>*{direction:ltr}
.mkt-manifest-label{
  display:flex;align-items:center;gap:8px;
  font-family:'Chakra Petch',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-bottom:6px;
}
.mkt-manifest-idx{
  font-family:'Chakra Petch',sans-serif;font-size:11px;font-weight:700;
  color:var(--blue);opacity:.5;margin-bottom:6px;
}
.mkt-manifest-item h3{
  font-family:'Chakra Petch',sans-serif;font-size:clamp(1.1rem,2vw,1.4rem);
  font-weight:700;line-height:1.25;margin-bottom:12px;
}
.mkt-manifest-item p{color:var(--slate);font-size:14px;line-height:1.7}
.mkt-manifest-shot{border-radius:12px;border:1px solid var(--b);overflow:hidden;background:var(--bg-c)}
.mkt-manifest-shot img{width:100%;height:auto;display:block}
.mkt-manifest-shots{display:grid;gap:14px;min-width:0}
/* Hover-scroll: simulate scrolling down to second image on hover */
.mkt-shot-swap{position:relative;cursor:pointer;overflow:hidden;aspect-ratio:1400/920}
.mkt-shot-swap img{transition:transform 1.2s cubic-bezier(.4,0,.2,1)}
.mkt-shot-swap:hover img{transform:translateY(-100%)}
.mkt-shot-hint{text-align:center;font-size:11px;color:var(--slate);margin-top:8px;opacity:.7;letter-spacing:.03em}
@media(max-width:768px){.mkt-shot-swap:hover img{transform:none}.mkt-shot-hint{display:none}}

/* ── TRUST STRIP ── */
.mkt-trust-strip{
  display:flex;flex-wrap:wrap;gap:16px;justify-content:center;
  max-width:var(--max-w);margin:0 auto;
}
.mkt-trust-item{
  display:flex;align-items:center;gap:10px;
  background:var(--bg-c);border:1px solid var(--b);
  border-radius:var(--r);padding:12px 18px;
  font-size:13px;color:var(--text);text-decoration:none;
  transition:border-color .15s;
}
.mkt-trust-item:hover{border-color:var(--blue);text-decoration:none}
.mkt-trust-item .ic{
  width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  border-radius:8px;flex-shrink:0;
  background:var(--blue-dim);color:var(--blue);
}
.mkt-trust-item .ic svg{width:16px;height:16px}
.mkt-trust-item b{white-space:nowrap}
.mkt-trust-item span{display:block;font-size:11px;color:var(--slate);margin-top:1px}

/* ── TRADER TYPE CARDS ── */
.mkt-trader-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px;
}
.mkt-trader-card{
  background:var(--bg-c);border:1px solid var(--b);border-radius:12px;
  padding:24px 20px;display:flex;flex-direction:column;gap:10px;
  transition:border-color .2s;
}
.mkt-trader-card:hover{border-color:rgba(148,163,184,.25)}
.mkt-trader-card .mkt-tc-icon{
  width:40px;height:40px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.mkt-trader-card .mkt-tc-icon svg{width:20px;height:20px}
.mkt-trader-card h3{font-family:'Chakra Petch',sans-serif;font-size:15px;font-weight:700;letter-spacing:.01em}
.mkt-trader-card p{font-size:13px;color:var(--slate);line-height:1.6;flex:1}

/* ── PRICING CARDS ── */
.mkt-pricing-header{text-align:center;padding:48px 32px 24px}
.mkt-pricing-toggle{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin-bottom:32px;
}
.mkt-pricing-toggle-label{font-size:13px;color:var(--slate);font-weight:500;transition:color .15s;cursor:pointer}
.mkt-pricing-toggle-label.active{color:var(--text);font-weight:700}
.mkt-pricing-toggle-btn{
  position:relative;width:44px;height:24px;
  background:var(--blue);border:none;border-radius:12px;cursor:pointer;
}
.mkt-pricing-toggle-knob{
  position:absolute;top:2px;left:22px;width:20px;height:20px;
  background:#fff;border-radius:50%;transition:left .15s;
}
.mkt-pricing-save{font-size:11px;color:var(--green);font-weight:600}

.mkt-pricing-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  max-width:var(--max-w);margin:0 auto;padding:0 32px;
}
.mkt-plan-card{
  background:var(--bg-c);border:1px solid var(--b);border-radius:12px;
  padding:28px 24px;display:flex;flex-direction:column;
}
.mkt-plan-card.featured{border-color:var(--blue);position:relative}
.mkt-plan-badge{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--blue);color:#fff;
  font-family:'Chakra Petch',sans-serif;font-size:10px;font-weight:700;
  letter-spacing:.1em;padding:4px 14px;border-radius:20px;white-space:nowrap;
}
.mkt-plan-name{
  font-family:'Chakra Petch',sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:4px;
}
.mkt-plan-tagline{font-size:12px;color:var(--slate);margin-bottom:16px}
.mkt-plan-price{
  font-family:'Chakra Petch',sans-serif;font-size:2rem;font-weight:700;
  margin-bottom:4px;font-variant-numeric:tabular-nums;
}
.mkt-plan-price .unit{font-size:14px;color:var(--slate);font-weight:400}
.mkt-plan-period{font-size:12px;color:var(--slate);margin-bottom:20px}
.mkt-plan-save{font-size:12px;font-weight:600;color:var(--green);margin-bottom:4px;min-height:17px}
.mkt-plan-save.muted{color:var(--slate);font-weight:500}
.mkt-plan-trial{border:1px solid var(--b);border-radius:10px;padding:10px 12px;margin:0 0 16px;background:var(--bg);font-size:12px;color:var(--slate);line-height:1.55}
.mkt-plan-trial b{display:block;color:var(--text);font-size:12px;margin-bottom:2px}
.mkt-plan-trial a{color:var(--blue);text-decoration:underline}
.mkt-plan-cta-alt{display:block;text-align:center;margin-top:10px;font-size:13px;font-weight:600;color:var(--blue);text-decoration:underline}
.mkt-plans-note{max-width:var(--max-w);margin:14px auto 0;padding:0 32px;text-align:center;font-size:12px;color:var(--slate);line-height:1.55}
.mkt-plans-note a{color:inherit;text-decoration:underline}
.mkt-plan-features{list-style:none;padding:0;margin:0 0 24px;flex:1}
.mkt-plan-features li{
  font-size:13px;color:var(--slate);padding:5px 0;
  padding-left:20px;position:relative;line-height:1.5;
}
.mkt-plan-features li::before{
  content:'';position:absolute;left:0;top:10px;
  width:8px;height:8px;border-radius:50%;
  background:var(--green);opacity:.7;
}
.mkt-plan-features li.heading{
  color:var(--text);font-weight:600;padding-left:0;margin-top:4px;
}
.mkt-plan-features li.heading::before{display:none}
.mkt-plan-cta{margin-top:auto}

/* ── COMPARISON TABLE ── */
.mkt-compare-wrap{
  overflow-x:auto;max-width:var(--max-w);margin:40px auto 0;padding:0 32px;
}
.mkt-compare-table{
  width:100%;border-collapse:collapse;font-size:13px;min-width:600px;
}
.mkt-compare-table th{
  background:var(--bg-c);padding:10px 14px;
  text-align:left;font-family:'Chakra Petch',sans-serif;
  font-size:11px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--slate);font-weight:700;white-space:nowrap;
  border-bottom:1px solid var(--b);
}
.mkt-compare-table td{
  padding:10px 14px;border-bottom:1px solid var(--b);
  color:var(--slate);vertical-align:top;
}
.mkt-compare-table td:first-child{color:var(--text);font-weight:500}
.mkt-compare-table .check{color:var(--green);font-weight:700}
.mkt-compare-table .cross{color:var(--red,#ef4444);font-weight:700}
.mkt-compare-table .dash{color:var(--slate);opacity:.3}
/* Phones: the table fits the screen (no 600px minimum) and sits in the page margin, not inside a second 32px inset */
@media(max-width:600px){
  .mkt-compare-wrap{padding:0;margin-top:28px}
  .mkt-compare-table{min-width:0;font-size:12px}
  .mkt-compare-table th,.mkt-compare-table td{padding:9px 7px}
  .mkt-compare-table th{white-space:normal;font-size:10px;letter-spacing:.04em}
}
@media(max-width:360px){.mkt-compare-table{font-size:11px}.mkt-compare-table th,.mkt-compare-table td{padding:8px 4px}.mkt-compare-table th{font-size:9px;letter-spacing:.02em}}

/* ── FAQ ── */
.mkt-faq{display:flex;flex-direction:column;gap:8px;max-width:680px;margin:24px auto 0}
.mkt-faq details{
  border:1px solid var(--b);border-radius:var(--r);
  overflow:hidden;background:var(--bg-c);
}
.mkt-faq summary{
  padding:14px 16px;font-size:14px;font-weight:600;
  cursor:pointer;color:var(--text);list-style:none;
  display:flex;justify-content:space-between;align-items:center;
}
.mkt-faq summary::-webkit-details-marker{display:none}
.mkt-faq summary::after{content:'+';font-size:18px;color:var(--slate);transition:transform .15s}
.mkt-faq details[open] summary::after{content:'-'}
.mkt-faq .faq-a{padding:0 16px 14px;font-size:13px;color:var(--slate);line-height:1.65}

/* ── REVIEW CARDS ── */
.mkt-reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.mkt-review-card{
  background:var(--bg-c);border:1px solid var(--b);border-radius:12px;
  padding:24px;display:flex;flex-direction:column;
}
.mkt-review-stars{display:flex;gap:2px;margin-bottom:10px}
.mkt-review-stars svg{width:16px;height:16px;fill:var(--amber)}
.mkt-review-title{font-weight:700;font-size:14px;margin-bottom:8px}
.mkt-review-body{font-size:13px;color:var(--slate);line-height:1.65;flex:1}
.mkt-review-footer{margin-top:14px;display:flex;justify-content:space-between;font-size:12px;color:var(--slate)}
.mkt-review-author{font-weight:600;color:var(--text)}

/* ── STORY BLOCKS (about page) ── */
.mkt-story-block{
  display:grid;grid-template-columns:100px 1fr;gap:20px;
  padding:24px 0;border-bottom:1px solid var(--b);
}
.mkt-story-block .lbl{
  font-family:'Chakra Petch',sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--blue);
  padding-top:4px;
}
.mkt-story-block p{font-size:15px;line-height:1.75;color:rgba(248,250,252,.88);margin-bottom:1em}
.mkt-story-block p:last-child{margin-bottom:0}
.mkt-pullquote{
  font-family:'Chakra Petch',sans-serif;font-size:1.1rem;font-weight:600;
  color:var(--blue);border-left:3px solid var(--blue);
  padding:16px 20px;margin:32px 0;line-height:1.5;
  background:var(--blue-dim);border-radius:0 var(--r) var(--r) 0;
}

/* ── CTA BAND ── */
.mkt-band{
  background:var(--bg-c);border-top:1px solid var(--b);border-bottom:1px solid var(--b);
  text-align:center;padding:56px 32px;margin-top:56px;
}
.mkt-band h2{
  font-family:'Chakra Petch',sans-serif;font-size:clamp(1.3rem,3vw,1.8rem);
  font-weight:700;margin-bottom:20px;
}

/* ── FOOTER ── */
.mkt-footer{
  border-top:1px solid var(--b);
  padding:28px 32px;
  max-width:var(--max-w);margin:0 auto;
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  width:100%;
}
.mkt-footer-logo img{height:40px;width:auto;opacity:.7}
.mkt-footer-links{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.mkt-footer-links a{font-size:12px;color:var(--slate);text-decoration:none;transition:color .15s}
.mkt-footer-links a:hover{color:var(--text);text-decoration:none}
.mkt-footer-copy{margin-left:auto;font-size:11px;color:rgba(148,163,184,.5)}

/* ── FREE TOOL CARDS (marketing pages) ── */
.mkt-tool-card{
  display:flex;align-items:flex-start;gap:14px;
  background:var(--bg-s);border:1px solid var(--b);border-radius:14px;
  padding:20px;transition:border-color .15s,box-shadow .15s;
}
.mkt-tool-card:hover{border-color:var(--blue);box-shadow:0 4px 20px rgba(96,165,250,.08)}
.mkt-tool-icon{
  width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:rgba(96,165,250,.1);color:var(--blue);flex-shrink:0;
}

/* ── TOOL PAGES ── */
.tool-container{max-width:680px;margin:0 auto;padding:48px 32px 80px}
.tool-container h1{
  font-family:'Chakra Petch',sans-serif;
  font-size:clamp(1.4rem,3vw,1.9rem);
  font-weight:700;margin-bottom:8px;
}
.tool-container .tool-sub{color:var(--slate);font-size:15px;margin-bottom:32px;line-height:1.6}
.tool-form{display:flex;flex-direction:column;gap:16px}
.tool-field label{
  display:block;font-size:12px;font-weight:600;color:var(--slate);
  margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em;
  font-family:'Chakra Petch',sans-serif;
}
.tool-field input,.tool-field select{
  width:100%;padding:11px 14px;
  background:var(--bg-c);border:1px solid var(--b);border-radius:var(--r);
  color:var(--text);font-size:14px;font-family:inherit;
  transition:border-color .15s;
}
.tool-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tool-result{
  background:var(--bg-c);border:1px solid var(--b);border-radius:12px;
  padding:24px;margin-top:24px;text-align:center;
}
.tool-result-value{
  font-family:'Chakra Petch',sans-serif;font-size:2.4rem;font-weight:700;
  color:var(--blue);font-variant-numeric:tabular-nums;margin-bottom:4px;
}
.tool-result-label{font-size:12px;color:var(--slate)}

/* ── MOBILE ── */
/* Mid-width screens (small laptops, or Windows display scaling of 125–150%): the full nav no longer fits,
   so tighten it first and switch to the menu button before anything is pushed off the right edge. */
@media(max-width:1180px){
  .mkt-topnav{padding:0 16px}
  .mkt-topnav-logo img{height:96px}
  .mkt-topnav-nav a{font-size:14px;padding:6px 8px}
  .mkt-topnav-signin{padding:8px 14px}
  .mkt-topnav-cta{padding:8px 16px}
}
@media(max-width:980px){
  :root{--topnav-h:60px}
  .mkt-topnav-nav{display:none}
  .mkt-topnav-toggle{display:flex}
  .mkt-topnav-logo img{height:70px}
  .mkt-topnav-signin{display:none}
}
@media(max-width:767px){
  :root{--topnav-h:60px}
  .mkt-topnav{padding:0 14px}
  .mkt-topnav-nav{display:none}
  .mkt-topnav-toggle{display:flex}
  .mkt-topnav-logo img{height:70px}
  .mkt-topnav-signin{display:none}
  .mkt-topnav-cta{padding:8px 15px;font-size:12px !important}

  .mkt-hero{grid-template-columns:1fr;padding:40px 20px 32px;gap:28px}
  .mkt-hero-shot{order:-1}
  .mkt-section,.mkt-section-narrow{padding:40px 20px}
  .mkt-data-strip,.mkt-data-strip.cols-3{grid-template-columns:1fr 1fr}
  .mkt-data-strip.cols-3 .mkt-ds-cell:last-child{grid-column:1/-1}
  .mkt-data-strip.cols-5{grid-template-columns:1fr 1fr}
  .mkt-data-strip.cols-5 .mkt-ds-cell:last-child{grid-column:1/-1}
  .mkt-bento{grid-template-columns:1fr}
  .mkt-bento-item.wide{grid-column:auto}
  .mkt-manifest-item{grid-template-columns:1fr;gap:20px;padding:40px 20px}
  .mkt-manifest-item:nth-child(even){direction:ltr}
  .mkt-pricing-grid{grid-template-columns:1fr;padding:0 20px}
  .mkt-trust-strip{flex-direction:column;align-items:stretch}
  .mkt-trader-grid{grid-template-columns:1fr 1fr}

  .mkt-reviews{grid-template-columns:1fr}
  .mkt-story-block{grid-template-columns:1fr;gap:8px}
  .mkt-footer{padding:24px 20px;flex-direction:column;align-items:center;gap:14px;text-align:center}
  .mkt-footer-logo img{height:56px}
  .mkt-footer-links{justify-content:center}
  .mkt-footer-copy{margin-left:0}
  .mkt-band{padding:32px 20px;margin:32px 16px 0;border-radius:14px;border:1px solid var(--b)}
  .mkt-band h2{font-size:1.2rem;margin-bottom:14px}
  .mkt-band .btn-primary,.mkt-band .btn-secondary{padding:11px 22px;font-size:13px;width:auto}
  .tool-row{grid-template-columns:1fr}
  .tool-container{padding:32px 20px 60px}
}
@media(max-width:480px){
  .mkt-data-strip,.mkt-data-strip.cols-3{grid-template-columns:1fr}
  .mkt-data-strip.keep-2,.mkt-data-strip.keep-2.cols-5{grid-template-columns:1fr 1fr}
  .mkt-data-strip.keep-2 .mkt-ds-cell{padding:16px 14px}
  .mkt-data-strip.keep-2 .mkt-ds-value{font-size:1rem}
  .mkt-data-strip.cols-3 .mkt-ds-cell:last-child{grid-column:auto}
  .mkt-trader-grid{grid-template-columns:1fr}
}

/* ── REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
    scroll-behavior:auto !important;
  }
  .mkt-shot-swap:hover img{transform:none}
}
.mkt-card-link{display:block;padding:12px 16px;border:1px solid var(--border);border-radius:8px;color:var(--blue);font-size:14px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s}
.mkt-card-link:hover{border-color:var(--blue);background:rgba(59,130,246,.06);text-decoration:none}

/* Cookie consent banner (Necessary/Analytics/Marketing) — mirrors the app's
   consent system 1:1 so a visitor's decision carries across both surfaces. */
#mkt-cookie-banner{display:none;position:fixed;left:16px;right:16px;bottom:16px;max-width:480px;margin:0 auto;background:var(--bg-s);border:1px solid var(--b);border-radius:var(--r);padding:18px 20px;box-shadow:0 8px 30px rgba(0,0,0,.35);z-index:11500}
#mkt-cookie-banner.open{display:block}
#mkt-cookie-banner .mkt-cc-title{font-family:'Chakra Petch',monospace;font-weight:700;font-size:15px;margin-bottom:6px;color:var(--text)}
#mkt-cookie-banner .mkt-cc-body{font-size:13px;color:var(--slate);line-height:1.55;margin-bottom:14px}
#mkt-cookie-banner .mkt-cc-body a{color:var(--blue);text-decoration:underline}
#mkt-cookie-banner .mkt-cc-btns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
#mkt-cookie-banner .mkt-cc-btns button{padding:10px 10px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:.15s;min-height:42px;border:1px solid var(--blue)}
#mkt-cookie-banner .mkt-cc-accept{background:var(--blue);color:#0a1120}
#mkt-cookie-banner .mkt-cc-accept:hover{opacity:.9}
#mkt-cookie-banner .mkt-cc-reject,#mkt-cookie-banner .mkt-cc-manage{background:transparent;color:var(--blue)}
#mkt-cookie-banner .mkt-cc-reject:hover,#mkt-cookie-banner .mkt-cc-manage:hover{background:var(--blue-dim)}
@media(max-width:480px){#mkt-cookie-banner{left:8px;right:8px;bottom:8px;padding:14px 16px}#mkt-cookie-banner .mkt-cc-btns{grid-template-columns:1fr;gap:8px}}
#mkt-cookie-prefs-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:11600;align-items:center;justify-content:center;padding:16px}
#mkt-cookie-prefs-overlay .mkt-cc-modal{width:460px;max-width:100%;background:var(--bg-s);border:1px solid var(--b);border-radius:var(--r);padding:22px}
.mkt-cc-modal-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:4px;font-family:'Chakra Petch',monospace}
.mkt-cc-modal-desc{font-size:12px;color:var(--slate);line-height:1.5;margin-bottom:4px}
.mkt-cc-modal-desc a{color:var(--blue)}
.mkt-cc-pref-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--b)}
.mkt-cc-pref-row:last-of-type{border-bottom:none}
.mkt-cc-pref-row .mkt-cc-pref-text{flex:1;min-width:0}
.mkt-cc-pref-row .mkt-cc-pref-label{font-size:13.5px;font-weight:700;color:var(--text);margin-bottom:2px}
.mkt-cc-pref-row .mkt-cc-pref-desc{font-size:12px;color:var(--slate);line-height:1.5}
.mkt-cc-pref-row .mkt-cc-pref-locked{font-size:10.5px;color:var(--slate);text-transform:uppercase;letter-spacing:.4px;border:1px solid var(--b);border-radius:5px;padding:2px 6px;flex-shrink:0;align-self:center}
.mkt-cc-toggle{width:44px;height:24px;border-radius:12px;border:none;cursor:pointer;position:relative;transition:.2s;flex-shrink:0}
.mkt-cc-toggle-knob{position:absolute;top:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.mkt-cc-modal-btns{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.mkt-cc-modal-btns button{padding:9px 16px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}
.mkt-cc-cancel{background:transparent;border:1px solid var(--b);color:var(--text)}
.mkt-cc-save{background:var(--blue);border:1px solid var(--blue);color:#0a1120}

/* Share-card landing strip */
.mkt-share-strip{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:10px 16px;background:linear-gradient(90deg,var(--blue-bg,rgba(96,165,250,.12)),rgba(96,165,250,.04));border-bottom:1px solid var(--b);font-size:14px;font-weight:600;color:var(--text)}
.mkt-share-strip[hidden]{display:none}
.mkt-share-strip .btn-primary{padding:8px 16px;font-size:13px;min-height:36px;display:inline-flex;align-items:center}

/* Share-your-stats feature block (home + features) */
.mkt-sharefeat{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:48px;align-items:center}
.mkt-sharefeat-img{position:relative;justify-self:center;width:100%;max-width:380px}
.mkt-sharefeat-img img{width:100%;height:auto;border-radius:20px;border:1px solid var(--b);box-shadow:0 24px 60px rgba(0,0,0,.35)}
.mkt-sharefeat-cap{position:absolute;top:12px;left:12px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);background:var(--bg-s);border:1px solid var(--b);border-radius:999px;padding:3px 10px}
/* "Sample data" tag under every screenshot that shows app data, and the one-line note per page. One class, one look: Chakra Petch 11px,
   --slate (4.9:1 or better on every theme background), no pill, no border, nothing over the image. Keep identical in the-trading-terminal.html
   and the blog posts, which do not load this file. */
.mkt-sample-tag,.mkt-sample-note{font-family:'Chakra Petch',monospace;font-size:11px;font-weight:500;letter-spacing:.08em;line-height:1.4;color:var(--slate)}
.mkt-sample-tag{display:block;margin:0;padding:6px 12px 8px;text-align:center;text-transform:uppercase}
.mkt-sample-note{max-width:760px;margin:0 auto;padding:20px 16px;text-align:center}
.mkt-sharefeat-copy .mkt-section-title{margin-bottom:12px}
.mkt-sharefeat-list{list-style:none;margin:20px 0 24px;padding:0;display:flex;flex-direction:column;gap:12px}
.mkt-sharefeat-list li{position:relative;padding-left:26px;font-size:15px;line-height:1.55;color:var(--slate)}
.mkt-sharefeat-list li::before{content:"";position:absolute;left:2px;top:.55em;width:10px;height:10px;border-radius:50%;background:var(--blue)}
.mkt-sharefeat-list b{color:var(--text)}
.mkt-sharefeat-note{font-size:12px;color:var(--slate);margin-top:12px}
@media(max-width:820px){.mkt-sharefeat{grid-template-columns:1fr;gap:28px}.mkt-sharefeat-img{max-width:320px}}

/* ── TRUSTPILOT SUMMARY (home page Reviews section; shown only with a real rating and count) ── */
.mkt-tp-summary{display:inline-flex;align-items:center;gap:10px;margin:18px auto 0;padding:10px 16px;background:var(--bg-c);border:1px solid var(--b);border-radius:10px;font-size:14px;color:var(--slate);text-decoration:none}
.mkt-tp-summary[hidden]{display:none}
.mkt-tp-summary b{color:var(--text);font-family:'Chakra Petch',sans-serif;font-size:18px}
.mkt-tp-star{display:inline-flex;line-height:0}
.mkt-tp-star svg{border-radius:3px;display:block}
.mkt-tp-summary:hover{border-color:var(--blue)}
#tp-summary{display:flex;width:max-content;max-width:100%}
#tp-summary[hidden]{display:none}

/* ── SQUIRCLE CORNERS ──
   Smooth (superellipse) corners on the big surfaces, like the corners on Apple's own pages: the curve eases into the straight edge instead of
   stopping like a circle's arc. Browsers without `corner-shape` ignore this whole block and keep the ordinary rounded corners above. */
@supports (corner-shape:squircle){
  :root{--squircle-lg:32px;--squircle-md:18px}
  .mkt-hero-shot,.mkt-manifest-shot,.mkt-plan-card,.mkt-trader-card,.mkt-bento-item,.mkt-review-card,.tool-result,.mkt-band,
  .mkt-data-strip,.mkt-compare-wrap,figure img{corner-shape:squircle;border-radius:var(--squircle-lg)}
  .mkt-mod,.mkt-faq details,.mkt-card-link,.mkt-plan-trial,.mkt-sample-tag,.btn-primary,.btn-secondary,.mkt-topnav-cta,.mkt-topnav-signin,
  .tool-field input,.tool-field select,#mkt-cookie-banner,#mkt-cookie-prefs-overlay .mkt-cc-modal{corner-shape:squircle;border-radius:var(--squircle-md)}
  .mkt-hero-shot,.mkt-manifest-shot,.mkt-data-strip{overflow:hidden}
  /* the comparison table wrapper must keep scrolling sideways (overflow:hidden here cut off the Basic/Pro/Elite columns on phones) */
  .mkt-compare-wrap{overflow-x:auto;overflow-y:hidden}
}

/* Mobile: small standalone links (footer, breadcrumbs, "see all" links) get a thumb-sized hit area without changing how the page looks */
@media(max-width:768px){
  .mkt-footer-links a,.mkt-footer-cookiebtn,.blog-footer-links a,.blog-breadcrumb a,.blog-sidebar-site a,nav[aria-label="Breadcrumb"] a,.mkt-section>div>a:not([class]),.mkt-plan-cta-alt,.aff-footer-links a,.aff-footer-links button{display:inline-block;padding:12px 0;margin:-12px 0}
}
/* Cookie banner on a phone: Reject and Accept side by side (equal size), Manage Preferences underneath, so it takes about a quarter of the screen instead of 40% */
@media(max-width:480px){
  #mkt-cookie-banner .mkt-cc-btns{grid-template-columns:1fr 1fr!important;gap:8px}
  #mkt-cookie-banner .mkt-cc-reject{order:1}#mkt-cookie-banner .mkt-cc-accept{order:2}
  #mkt-cookie-banner .mkt-cc-manage{order:3;grid-column:1/-1}
  #mkt-cookie-banner .mkt-cc-body{font-size:12.5px;margin-bottom:10px}
  #mkt-cookie-banner .mkt-cc-title{font-size:14px;margin-bottom:4px}
}

/* ── FOUNDING RATE ── evergreen explainer (pricing page), card (home page) and the per-plan badge. No timers, no counts. */
#founding-rate{scroll-margin-top:calc(var(--topnav-h,84px) + var(--tt-fb-h,0px) + 12px)}
.mkt-founding-eyebrow{font-family:'Chakra Petch',sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.mkt-founding-title{font-family:'Chakra Petch',sans-serif;font-size:22px;font-weight:700;line-height:1.25;color:var(--text);margin:0 0 12px}
.mkt-founding-explainer{max-width:1040px;margin:0 auto 28px;padding:22px 24px;background:var(--bg-c);border:1px solid var(--blue);border-radius:var(--r);box-shadow:inset 4px 0 0 var(--blue)}
.mkt-founding-points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mkt-founding-points li{font-size:14px;line-height:1.55;color:var(--slate);background:var(--blue-dim);border-radius:10px;padding:12px 14px}
.mkt-founding-points strong{display:block;font-family:'Chakra Petch',sans-serif;font-size:15px;color:var(--text);margin-bottom:4px}
.mkt-founding-fine{font-size:12px;line-height:1.55;color:var(--slate);margin:12px 0 0}
.mkt-founding-fine a{color:var(--blue);text-decoration:underline}
.mkt-founding{max-width:880px;margin:0 auto;padding:20px 24px;background:var(--bg-c);border:1px solid var(--blue);border-radius:var(--r);box-shadow:inset 4px 0 0 var(--blue);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.mkt-founding-main{flex:1 1 360px;min-width:0}
.mkt-founding-main p{font-size:14px;line-height:1.6;color:var(--slate);margin:0 0 6px}
.mkt-founding-main p:last-child{margin-bottom:0}
.mkt-founding-badge{display:block;width:fit-content;max-width:100%;font-size:12px;line-height:1.45;font-weight:700;color:var(--blue);background:var(--blue-dim);border:1px solid var(--blue);padding:6px 12px;border-radius:8px}
.mkt-founding-badge::before{content:"\2713\00a0"}
@media(max-width:820px){.mkt-founding-points{grid-template-columns:1fr}}
@media(max-width:480px){.mkt-founding-explainer,.mkt-founding{padding:16px}.mkt-founding .btn-primary{width:100%;text-align:center;box-sizing:border-box}}
