/* The hand-built add-on sales pages (/addon/ncrenkos, /addon/atrrenkos): the sections between the standard
   video section and the price box. Every class starts with sp- so nothing collides with Tailwind's prebuilt
   output.css. No vh units: the desktop site runs at zoom 0.8 (see the end of input.css). */

.sp {
    --sp-navy: #081E71;
    --sp-navy-deep: #06113D;
    --sp-ink: #171717;
    --sp-muted: #6b7280;
    --sp-body: #4b5563;
    --sp-text: #374151;
    --sp-gray: #f3f4f6;
    --sp-line: #e5e7eb;
    --sp-orange: #FF6200;
    --sp-tint: #eef1fb;
    --sp-brand: linear-gradient(89.96deg, #99083C 0.04%, #FF6200 101.28%);
    background: var(--sp-gray);
    color: var(--sp-ink);
}

.sp-wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.sp-section { padding: 88px 0; }
.sp-section--flush-top { padding-top: 0; }
.sp-sheet { background: #fff; border-radius: 80px; }

/* headings */
.sp-eyebrow { color: var(--sp-orange); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 12px; }
.sp-h2 { font-size: 40px; line-height: 1.12; font-weight: 600; margin: 0 0 18px; letter-spacing: -.01em; color: var(--sp-ink); }
.sp-h3 { font-size: 24px; font-weight: 600; margin: 0 0 6px; }
.sp-lead { font-size: 19px; line-height: 1.6; color: var(--sp-body); margin: 0; max-width: 760px; }
.sp-lead--small { font-size: 17px; }
.sp-heading--center { text-align: center; }
.sp-heading--center .sp-lead { margin: 0 auto; }

/* buttons */
.sp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: #fff; background: var(--sp-brand); border-radius: 16px; padding: 12px 22px; font-size: 16px; text-decoration: none; border: 0; transition: transform .2s; }
.sp-btn:hover { transform: scale(1.04); color: #fff; }
.sp-btn--ghost { background: transparent; border: 1px solid rgba(255, 255, 255, .5); }
.sp-btn-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* worked-example panels */
.sp-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 44px; }
.sp-panel { background: #fff; border: 1px solid var(--sp-line); border-radius: 24px; padding: 24px; }
.sp-panel--ours { border: 2px solid var(--sp-navy); box-shadow: 0 10px 30px rgba(8, 30, 113, .10); }
.sp-panel-title { margin: 0 0 4px; font-size: 20px; font-weight: 600; }
.sp-panel-sub { color: var(--sp-muted); font-size: 14px; margin: 0 0 8px; }
.sp-chart { width: 100%; height: auto; display: block; }
.sp-callouts { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 10px; }
.sp-callouts li { display: flex; gap: 10px; font-size: 15px; line-height: 1.5; color: var(--sp-text); }
.sp-badge { flex: 0 0 22px; height: 22px; border-radius: 999px; background: var(--sp-navy); color: #fff; font-size: 12px; display: grid; place-items: center; margin-top: 1px; }
.sp-badge--muted { background: #9ca3af; }
/* the three-panel rules diagram: full width, and on phones it scrolls inside its panel rather than shrinking */
.sp-rules { margin-top: 40px; overflow-x: auto; }
.sp-rules .sp-chart { min-width: 600px; }
.sp-caption { color: var(--sp-muted); font-size: 14px; margin: 18px 0 0; text-align: center; }

/* ATR: from trades to brick size, a row of steps (stacked on phones) */
.sp-pipeline { list-style: none; margin: 44px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; }
.sp-step { position: relative; background: #fff; border: 1px solid var(--sp-line); border-radius: 16px; padding: 18px 16px; text-align: center; }
.sp-step b { display: block; font-size: 17px; font-weight: 600; color: var(--sp-ink); }
.sp-step span { display: block; margin-top: 6px; font-size: 14px; line-height: 1.45; color: var(--sp-muted); }
.sp-step--result { background: #fff7ed; border: 2px solid var(--sp-orange); }
.sp-step:not(:last-child)::after { content: "→"; position: absolute; right: -22px; top: 50%; transform: translateY(-50%); color: var(--sp-orange); font-size: 20px; }
.sp-subsection { margin-top: 56px; }
.sp-subsection .sp-table-wrap, .sp-subsection .sp-shot { margin-top: 24px; }

/* Binance: three sources -> the adapter -> three outputs (stacked on phones) */
.sp-flow { display: grid; grid-template-columns: 1fr auto 1.1fr auto 1fr; gap: 18px; align-items: center; margin-top: 44px; }
.sp-flow-col { display: grid; gap: 14px; }
.sp-flow-box { background: #fff; border: 1px solid var(--sp-line); border-radius: 16px; padding: 14px 16px; }
.sp-flow-box b { display: block; font-size: 16px; font-weight: 600; }
.sp-flow-box span { display: block; margin-top: 4px; font-size: 13.5px; line-height: 1.45; color: var(--sp-muted); }
.sp-flow-hub { background: #fff7ed; border: 2px solid var(--sp-orange); border-radius: 20px; padding: 22px; text-align: center; }
.sp-flow-hub b { font-size: 20px; font-weight: 600; display: block; margin-bottom: 10px; }
.sp-flow-hub span { display: block; font-size: 14px; line-height: 1.8; color: var(--sp-body); }
.sp-flow-arrow { color: var(--sp-orange); font-size: 26px; }

/* screenshots */
.sp-shot { margin: 0; background: #fff; border: 1px solid var(--sp-line); border-radius: 20px; padding: 14px; }
.sp-shot img { display: block; width: 100%; height: auto; border-radius: 10px; }
.sp-shot figcaption { margin: 12px 4px 2px; font-size: 14px; line-height: 1.5; color: var(--sp-muted); }
.sp-shot figcaption b { color: var(--sp-ink); font-weight: 600; }
.sp-shot-row { margin-top: 40px; }
.sp-table-wrap + .sp-shot, .sp-shot + .sp-table-wrap { margin-top: 28px; }
.sp-shots { display: grid; grid-template-columns: 2.1fr 1fr; gap: 20px; margin-top: 40px; align-items: start; }

/* numbered setup steps */
.sp-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 40px; }
.sp-step-card { background: #fff; border: 1px solid var(--sp-line); border-radius: 20px; padding: 24px; }
.sp-step-num { width: 34px; height: 34px; border-radius: 999px; background: var(--sp-brand); color: #fff; display: grid; place-items: center; font-weight: 600; }
.sp-step-title { font-size: 20px; font-weight: 600; margin: 14px 0 6px; }
.sp-step-card p { margin: 0 0 14px; color: var(--sp-body); font-size: 16px; line-height: 1.6; }
.sp-step-card img { display: block; width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--sp-line); }
.sp-step-card .sp-table-wrap { margin-top: 0; }
/* grid items may shrink below their content, so a wide table scrolls in its wrapper instead of widening the page */
.sp-steps > *, .sp-shots > *, .sp-flow > *, .sp-two > *, .sp-honest > * { min-width: 0; }

/* the dark band's "What you need" panel */
.sp-needs { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); border-radius: 18px; padding: 28px 30px; }
.sp-needs-title { margin: 0 0 16px; font-size: 20px; font-weight: 600; color: #fff; }
.sp-needs ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.sp-needs li { padding-left: 26px; position: relative; font-size: 16px; line-height: 1.5; color: rgba(255, 255, 255, .85); }
.sp-needs li::before { content: "•"; position: absolute; left: 6px; color: var(--sp-orange); font-weight: 700; }
.sp-needs b { color: #fff; font-weight: 600; }

/* four navy cards */
.sp-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sp-card { position: relative; overflow: hidden; border-radius: 20px; background: var(--sp-navy); color: #fff; padding: 28px 24px; }
.sp-card::after { content: ""; position: absolute; right: -40px; top: -40px; width: 140px; height: 140px; border-radius: 999px; background: radial-gradient(circle, rgba(255, 98, 0, .35), transparent 70%); }
.sp-card-num { font-size: 13px; color: rgba(255, 255, 255, .55); letter-spacing: .1em; }
.sp-card-title { font-size: 21px; font-weight: 600; margin: 10px 0 8px; }
.sp-card p { margin: 0; color: rgba(255, 255, 255, .75); font-size: 15px; line-height: 1.55; }

/* two columns */
.sp-two { display: grid; grid-template-columns: 5fr 7fr; gap: 48px; align-items: center; }
.sp-two--top { align-items: start; margin-top: 64px; }
.sp-defs { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 14px; }
.sp-defs--flush { margin-top: 0; }
.sp-defs li { display: grid; grid-template-columns: 110px 1fr; gap: 12px; font-size: 16px; line-height: 1.55; color: var(--sp-text); }
.sp-defs b { color: var(--sp-ink); font-weight: 600; }
.sp-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.sp-chip { background: #fff; border: 1px solid var(--sp-line); border-radius: 999px; padding: 8px 14px; font-size: 14px; color: var(--sp-text); }
.sp-chip::before { content: "●"; color: var(--sp-orange); margin-right: 8px; font-size: 10px; vertical-align: 2px; }

/* tables: on phones a wide table scrolls inside its wrapper, never the page */
.sp-table-wrap { overflow-x: auto; margin-top: 40px; }
.sp-settings + .sp-table-wrap { margin-top: 18px; }
.sp-vs { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 16px; }
.sp-vs th, .sp-vs td { padding: 16px 20px; text-align: left; border-bottom: 1px solid var(--sp-line); vertical-align: top; }
.sp-vs thead th { font-size: 15px; font-weight: 600; }
.sp-vs thead th.sp-us { background: var(--sp-navy); color: #fff; border-radius: 16px 16px 0 0; }
.sp-vs td.sp-us { background: var(--sp-tint); color: var(--sp-ink); font-weight: 500; }
.sp-vs td.sp-them { color: var(--sp-muted); }
.sp-vs tbody th { font-weight: 500; color: var(--sp-ink); width: 18%; }
.sp-table { width: 100%; border-collapse: collapse; font-size: 15px; background: #fff; border-radius: 16px; overflow: hidden; }
.sp-table th, .sp-table td { padding: 12px 18px; border-bottom: 1px solid var(--sp-line); text-align: left; }
.sp-table th { background: #f9fafb; color: var(--sp-muted); font-weight: 500; font-size: 13px; }
.sp-mono { font-family: ui-monospace, Consolas, monospace; font-size: 14px; }
.sp-callout { margin-top: 28px; background: #fff7ed; border: 1px solid #fed7aa; border-radius: 16px; padding: 18px 22px; font-size: 16px; line-height: 1.55; color: #7c2d12; }

/* settings */
.sp-settings { display: grid; gap: 14px; margin-top: 36px; }
.sp-setting { display: grid; grid-template-columns: 260px 1fr; gap: 24px; background: #fff; border-radius: 18px; padding: 22px 26px; border: 1px solid var(--sp-line); }
.sp-setting-name { margin: 0; font-size: 18px; font-weight: 600; }
.sp-default { display: inline-block; margin-top: 8px; font-size: 13px; color: var(--sp-navy); background: var(--sp-tint); border-radius: 999px; padding: 3px 10px; }
.sp-setting p { margin: 0; color: var(--sp-body); font-size: 16px; line-height: 1.6; }

/* who it's for */
.sp-who { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; }
.sp-who-card { background: #fff; border-radius: 20px; padding: 28px; border: 1px solid var(--sp-line); }
.sp-who-icon { width: 44px; height: 44px; border-radius: 12px; background: var(--sp-brand); display: grid; place-items: center; color: #fff; }
.sp-who-icon svg { width: 22px; height: 22px; }
.sp-who-title { font-size: 20px; margin: 18px 0 8px; font-weight: 600; }
.sp-who-card p { margin: 0; color: var(--sp-body); line-height: 1.6; font-size: 16px; }

/* honest trade-offs */
.sp-honest { display: grid; grid-template-columns: 4fr 8fr; gap: 48px; align-items: start; }
.sp-tradeoffs { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.sp-tradeoffs li { background: #fff; border: 1px solid var(--sp-line); border-left: 4px solid #9ca3af; border-radius: 14px; padding: 16px 20px; font-size: 16px; line-height: 1.55; color: var(--sp-text); }
.sp-tradeoffs b { color: var(--sp-ink); font-weight: 600; }

/* make it yours */
.sp-dark { background: linear-gradient(to top, var(--sp-navy-deep), var(--sp-navy)); color: #fff; }
.sp-dark .sp-h2 { color: #fff; }
.sp-dark .sp-lead { color: rgba(255, 255, 255, .75); }
.sp-code { background: rgba(0, 0, 0, .35); border: 1px solid rgba(255, 255, 255, .12); border-radius: 18px; padding: 22px 24px; margin: 0; font-family: ui-monospace, Consolas, monospace; font-size: 14px; line-height: 1.7; color: #dbe4ff; white-space: pre; overflow-x: auto; }
.sp-code-k { color: #ff9a5c; }
.sp-code-c { color: rgba(255, 255, 255, .45); }
.sp-checks { list-style: none; padding: 0; margin: 26px 0 30px; display: grid; gap: 12px; }
.sp-checks li { display: flex; gap: 12px; font-size: 17px; color: rgba(255, 255, 255, .9); }
.sp-checks li::before { content: "✓"; color: var(--sp-orange); font-weight: 700; }

/* faq */
.sp-faq { max-width: 860px; margin: 40px auto 0; display: grid; gap: 12px; }
.sp-faq-row { background: #fff; border: 1px solid var(--sp-line); border-radius: 16px; padding: 18px 22px; }
.sp-faq-row summary { cursor: pointer; font-size: 18px; font-weight: 500; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.sp-faq-row summary::-webkit-details-marker { display: none; }
.sp-faq-row summary::after { content: "+"; color: var(--sp-orange); font-size: 22px; line-height: 1; }
.sp-faq-row[open] summary::after { content: "–"; }
.sp-faq-row p { margin: 12px 0 0; color: var(--sp-body); line-height: 1.6; font-size: 16px; }

/* closing */
.sp-closing { text-align: center; padding: 72px 0; }
.sp-closing .sp-lead { margin: 0 auto 26px; }

@media (max-width: 900px) {
    .sp-h2 { font-size: 30px; }
    .sp-section { padding: 60px 0; }
    .sp-section--flush-top { padding-top: 0; }
    .sp-sheet { border-radius: 40px; }
    .sp-compare, .sp-two, .sp-honest, .sp-who { grid-template-columns: 1fr; }
    .sp-cards { grid-template-columns: 1fr 1fr; }
    .sp-pipeline { grid-template-columns: 1fr; gap: 26px; }
    .sp-flow { grid-template-columns: 1fr; }
    .sp-flow-arrow { transform: rotate(90deg); justify-self: center; }
    .sp-shots, .sp-steps { grid-template-columns: 1fr; }
    /* stacked, the tall portrait shot (the SuperDOM) would fill the width and run two screens high */
    .sp-shots > :last-child { width: 100%; max-width: 360px; justify-self: center; }
    .sp-step:not(:last-child)::after { content: "↓"; right: auto; left: 50%; top: auto; bottom: -25px; transform: translateX(-50%); }
    .sp-setting { grid-template-columns: 1fr; gap: 8px; }
    .sp-vs { font-size: 14px; }
    .sp-vs th, .sp-vs td { padding: 12px 10px; }
}

@media (max-width: 560px) {
    .sp-cards { grid-template-columns: 1fr; }
    .sp-wrap { padding: 0 16px; }
    .sp-defs li { grid-template-columns: 90px 1fr; }
}
