:root {
  --ink:#101613; --deep:#18201b; --dark:#202a24; --mid:#29352e; --surface:#334139;
  --edge:#526158; --edge-faint:#3b4941; --text-head:#f3eee3; --text-body:#b7b9ad;
  --text-muted:#8c988e; --text-dim:#68756c; --green:#557d5a; --green-l:#79a878;
  --green-soft:#294633; --teal:#4ba9a0; --teal-soft:#173c3b;
  --font-body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:var(--font-body);
}
html { scroll-behavior:smooth; overflow-x:hidden; }
body { font-family:var(--font-body)!important; background:var(--dark)!important; color:var(--text-body)!important; }
body { overflow-x:hidden; }
img,svg { max-width:100%; }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-display)!important; color:var(--text-head)!important; }
a,button,input,select,textarea { font-family:var(--font-body)!important; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid var(--teal)!important; outline-offset:3px!important;
}
.btn-primary,.btn-teal { border-radius:7px!important; box-shadow:none!important; }
.btn-primary { background:var(--green)!important; }
.btn-primary:hover { background:var(--green-l)!important; }
.btn-teal { background:var(--teal)!important; }
.btn-ghost { border-color:var(--edge)!important; border-radius:7px!important; }
.nav-link[aria-current="page"] { color:var(--text-head)!important; position:relative; }
.nav-link[aria-current="page"]::after { content:""; position:absolute; left:.75rem; right:.75rem; bottom:-.55rem; height:2px; background:var(--green-l); }
nav a[aria-current="page"] { color:var(--text-head)!important; text-decoration-thickness:2px; text-underline-offset:.35em; }
#mob-nav a[aria-current="page"] { color:var(--text-head)!important; border-left:3px solid var(--green-l); padding-left:.75rem!important; }
header { background-color:rgba(16,22,19,.95)!important; }
header a:first-child span:first-child, footer span:first-child { background:var(--green)!important; }
/* The marketing pages use generous inline spacing; keep the reading measure comfortable. */
.story-body, .content p, .content li { max-width:72ch; }
body:has(.content) { background:var(--ink)!important; }
.content { color:var(--text-body)!important; }
.header { background:var(--deep)!important; border-bottom:1px solid var(--edge-faint); }
.header .logo-icon { background:var(--green)!important; }
.logo-icon svg,.nav-logo-icon svg,.su-nav-logo-mark svg { display:none!important; }
.logo-icon::after,.nav-logo-icon::after,.su-nav-logo-mark::after {
  content:"CTP"; color:#fff; font-size:.625rem; font-weight:800; letter-spacing:.02em;
}
.section { background:var(--mid)!important; border:1px solid var(--edge-faint)!important; box-shadow:none!important; }
.content h1,.content h2,.content h3 { color:var(--text-head)!important; }
.content p,.content li { color:var(--text-body)!important; }
.footer { background:var(--ink)!important; border-top:1px solid var(--edge-faint); }
.footer a { color:var(--text-muted)!important; }
.subscription-box,.highlight,.info-box,.warning-box,.cta-box,.email-box { background:var(--surface)!important; border-color:var(--edge)!important; }
.legal-meta {
  background:var(--deep)!important; border-color:var(--edge)!important;
}
.legal-meta p { color:var(--text-body)!important; }
.legal-meta a { color:var(--green-l)!important; }
.nav-logo-icon { background:var(--green)!important; color:var(--text-head)!important; }
.section-icon.orange { background:var(--green-soft)!important; }
.section-icon.orange svg { stroke:var(--green-l)!important; }
.legal-page .content, body:has(.content) .content { max-width:76ch; margin-inline:auto; }
table { max-width:100%; }
.platform-mark {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:2.5rem; height:2rem; padding:0 .45rem; border-radius:6px;
  border:1px solid var(--edge); background:var(--deep); color:var(--text-head);
  font-size:.625rem; font-weight:800; letter-spacing:.06em;
}
.sr-only {
  position:absolute!important; width:1px!important; height:1px!important;
  padding:0!important; margin:-1px!important; overflow:hidden!important;
  clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}
.product-evidence-section {
  background:var(--deep);
  border-block:1px solid var(--edge-faint);
  padding:clamp(3.5rem,7vw,5.5rem) 1.5rem;
}
.product-evidence-wrap { width:min(1120px,100%); margin-inline:auto; }
.evidence-heading { max-width:44rem; margin:0 auto 2.5rem; text-align:center; }
.evidence-heading p { max-width:42rem; margin:.75rem auto 0; line-height:1.75; color:var(--text-body); }
.evidence-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; align-items:start; }
.evidence-card {
  margin:0; overflow:hidden; border:1px solid var(--edge); border-radius:14px;
  background:var(--mid);
}
.evidence-frame {
  padding:1rem; display:flex; justify-content:center; background:linear-gradient(145deg,var(--ink),var(--surface));
}
.evidence-frame img {
  display:block; width:min(100%,260px); height:auto; aspect-ratio:390/844;
  object-fit:cover; border-radius:9px; box-shadow:0 18px 42px rgba(0,0,0,.35);
}
.evidence-card figcaption { display:grid; gap:.35rem; padding:1rem 1.1rem 1.2rem; }
.evidence-card figcaption strong { color:var(--text-head); font-size:.9375rem; line-height:1.4; }
.evidence-card figcaption span:last-child { color:var(--text-body); font-size:.8125rem; line-height:1.6; }
.evidence-kicker {
  color:var(--green-l)!important; font-size:.6875rem!important; font-weight:800;
  letter-spacing:.1em; text-transform:uppercase;
}
.evidence-kicker--teal { color:var(--teal)!important; }
.evidence-note {
  margin:1.25rem auto 0; max-width:48rem; text-align:center; color:var(--text-muted);
  font-size:.8125rem; line-height:1.65;
}
.hero-evidence-card {
  margin:0 auto; max-width:390px; border:1px solid var(--edge); border-radius:16px;
  overflow:hidden; background:var(--mid); box-shadow:0 24px 64px rgba(0,0,0,.45);
}
.hero-evidence-card img { display:block; width:100%; height:auto; aspect-ratio:390/844; object-fit:cover; }
.hero-evidence-card figcaption { padding:.85rem 1rem; color:var(--text-body); font-size:.75rem; line-height:1.55; }
.walkthrough-panel {
  display:grid; grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr);
  gap:1.5rem; align-items:center; margin-top:3rem; padding:1.25rem;
  border:1px solid var(--edge); border-radius:14px; background:var(--ink);
}
.product-walkthrough {
  display:block; width:100%; height:auto; aspect-ratio:16/9; border-radius:10px;
  background:#000; box-shadow:0 16px 40px rgba(0,0,0,.35);
}
.walkthrough-copy h3 { margin:0 0 .75rem; font-size:1.25rem; }
.walkthrough-copy p { margin:0; color:var(--text-body); font-size:.875rem; line-height:1.7; }
.walkthrough-copy details { margin-top:1rem; border-top:1px solid var(--edge-faint); padding-top:1rem; }
.walkthrough-copy summary { cursor:pointer; color:var(--text-head); font-size:.8125rem; font-weight:700; }
.walkthrough-copy ol { margin:.75rem 0 0; padding-left:1.25rem; color:var(--text-body); font-size:.8125rem; line-height:1.65; }
@media (max-width:767px) {
  .md-nav { display:none!important; }
  .mob-menu-btn { display:flex!important; }
  .pricing-grid { grid-template-columns:1fr!important; }
  .feature-row { min-width:0!important; overflow-wrap:anywhere; }
  table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  header > div:first-child { padding-inline:1rem!important; }
  .evidence-grid { grid-template-columns:1fr; max-width:390px; margin-inline:auto; }
  .walkthrough-panel { grid-template-columns:1fr; padding:1rem; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
}