/* ═══════════════════════════════════════════════════════════════
   dProspector — Site components (v2026-11)
   Builds on dp-system.css tokens. Signal Amber · Space Grotesk / Inter / JetBrains Mono
   ═══════════════════════════════════════════════════════════════ */

/* ── Global helpers ────────────────────────────────────────────── */
h1, h2, h3, p, li { text-wrap: pretty; }
h1, h2 { text-wrap: balance; }
.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; }
.skip-link { position:absolute; left:16px; top:-60px; z-index:200; background:var(--ink); color:#fff; padding:10px 14px; border-radius:6px; font-size:14px; }
.skip-link:focus { top:12px; }
.anchor-offset { scroll-margin-top: calc(var(--nav-h) + 16px); }
section[id] { scroll-margin-top: calc(var(--nav-h) + 8px); }
.illustrative {
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--amber-900); background:var(--amber-50); border:1px solid var(--amber-100);
  padding:4px 9px; border-radius:var(--r-full); font-weight:500; white-space:nowrap;
}
.illustrative::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--amber); }
.on-dark .illustrative, .illustrative.dark { background:rgba(245,158,11,.12); border-color:rgba(245,158,11,.3); color:var(--amber-300); }

/* Nav: 3-language toggle + booking */
.dp-lang-toggle button[aria-pressed="true"] { background:var(--ink); color:#fff; }
.dp-mobile-menu .dp-lang-toggle { display:flex !important; align-self:flex-start; margin:12px 0 4px; }

/* ── Status pills ──────────────────────────────────────────────── */
.pill { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:var(--r-full);
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; font-weight:500;
  border:1px solid var(--rule); background:var(--panel); color:var(--ink-2); white-space:nowrap; }
.pill::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.9; }
.pill.ok     { color:#166534; background:#F0FDF4; border-color:#BBF7D0; }
.pill.warn   { color:var(--amber-900); background:var(--amber-50); border-color:var(--amber-100); }
.pill.info   { color:#1E3A8A; background:#EFF6FF; border-color:#BFDBFE; }
.pill.stop   { color:#7F1D1D; background:#FEF2F2; border-color:#FECACA; }
.pill.muted  { color:var(--ink-3); }
.pill.dev    { color:#1E3A8A; background:#EFF6FF; border-color:#BFDBFE; }
.pill.plan   { color:var(--ink-2); background:transparent; border-style:dashed; border-color:var(--rule-strong); }
.pill.live   { color:#166534; background:#F0FDF4; border-color:#BBF7D0; }

/* ── Product fragment frame (shared by all mocks) ──────────────── */
.frag {
  background:#fff; border:1px solid var(--rule); border-radius:12px;
  box-shadow: 0 30px 60px -24px rgba(11,11,12,.22), 0 0 0 1px rgba(11,11,12,.02);
  overflow:hidden; font-size:13.5px; color:var(--ink);
}
.frag-bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px;
  padding:10px 14px; border-bottom:1px solid var(--rule); background:var(--panel); }
.frag-bar .dots { display:flex; gap:5px; }
.frag-bar .dots i { width:8px; height:8px; border-radius:50%; background:var(--rule-strong); display:block; }
.frag-title { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); }
.frag-body { padding:18px; }
.frag-row { display:grid; grid-template-columns: 132px 1fr; gap:12px; padding:9px 0; border-bottom:1px dashed var(--rule); align-items:start; }
.frag-row:last-child { border-bottom:0; }
.frag-k { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); padding-top:2px; }
.frag-v { color:var(--ink); line-height:1.45; }
.frag-v small { display:block; color:var(--ink-3); font-size:12px; margin-top:2px; }
.msg { background:var(--panel); border:1px solid var(--rule); border-radius:12px 12px 12px 4px; padding:12px 14px; line-height:1.5; }
.msg.out { background:var(--ink); color:#fff; border-color:var(--ink); border-radius:12px 12px 4px 12px; }
.msg mark { background:rgba(245,158,11,.22); color:inherit; padding:0 2px; border-radius:3px; box-shadow: inset 0 -2px 0 var(--amber); }
.msg-meta { font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin:6px 2px 0; }
.ev-list { list-style:none; display:flex; flex-direction:column; gap:8px; margin:0; padding:0; }
.ev-list li { display:grid; grid-template-columns:18px 1fr; gap:10px; line-height:1.45; }
.ev-ico { width:18px; height:18px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; margin-top:1px; }
.ev-ico.y { background:#DCFCE7; color:#166534; }
.ev-ico.q { background:var(--panel); color:var(--ink-3); border:1px dashed var(--rule-strong); }
.ev-ico.n { background:#FEE2E2; color:#991B1B; }
.ev-ico.a { background:var(--amber-50); color:var(--amber-900); }

/* ═══════════════ HOME HERO ═══════════════ */
.hero2 { position:relative; overflow:hidden; padding: clamp(48px,7vw,104px) 0 clamp(64px,8vw,112px); }
.hero2::before { content:""; position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(ellipse 900px 520px at 88% 18%, rgba(245,158,11,.09) 0%, transparent 60%); }
.hero2-inner { position:relative; display:grid; grid-template-columns: 1fr 1.02fr; gap:56px; align-items:center; }
@media (max-width:1080px){ .hero2-inner{ grid-template-columns:1fr; gap:44px; } }
.hero2 .eyebrow { margin-bottom:22px; }
.hero2 h1 { font-size: clamp(40px,5.2vw,68px); max-width: 16ch; margin-bottom:18px; }
.hero2 h1 .amber { color:var(--amber); }
.hero2-kicker { font-family:var(--font-display); font-size: clamp(20px,2vw,26px); font-weight:500; letter-spacing:-.015em; color:var(--ink-2); margin-bottom:22px; max-width:30ch; line-height:1.25; }
.hero2 .lead { max-width:54ch; margin-bottom:32px; font-size:18px; }
.hero2-ctas { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.hero2-scope { margin-top:28px; padding-top:22px; border-top:1px solid var(--rule); display:flex; gap:10px 22px; flex-wrap:wrap; font-size:13.5px; color:var(--ink-2); }
.hero2-scope span { display:inline-flex; align-items:center; gap:8px; }
.hero2-scope span::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--amber); }

/* Live hero (Resource A) */
.live { position:relative; }
.live-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; flex-wrap:wrap; }
.live-steps { display:flex; gap:6px; flex-wrap:wrap; }
.live-step { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  padding:7px 10px; border-radius:6px; border:1px solid var(--rule); background:var(--panel-2); color:var(--ink-3); display:flex; gap:6px; align-items:center; min-height:34px; }
.live-step b { color:var(--ink-3); font-weight:600; }
.live-step[aria-selected="true"] { background:var(--ink); color:#fff; border-color:var(--ink); }
.live-step[aria-selected="true"] b { color:var(--amber); }
.live-stage { position:relative; min-height: 430px; }
.live-scene { display:none; }
.live-scene.active { display:block; animation: sceneIn .45s ease both; }
@keyframes sceneIn { from { opacity:0; transform: translateY(8px);} to { opacity:1; transform:none; } }
.live-foot { display:flex; align-items:center; gap:10px; margin-top:12px; }
.live-btn { width:38px; height:38px; border-radius:8px; border:1px solid var(--rule-strong); background:var(--panel-2); display:flex; align-items:center; justify-content:center; color:var(--ink-2); }
.live-btn:hover { border-color:var(--ink); color:var(--ink); }
.live-progress { flex:1; height:2px; background:var(--rule); border-radius:2px; overflow:hidden; }
.live-progress i { display:block; height:100%; width:0; background:var(--amber); transition: width .1s linear; }
.live-caption { font-size:13.5px; color:var(--ink-2); margin-top:10px; min-height:40px; }
.live-case { display:flex; align-items:center; gap:12px; padding:12px 14px; border-bottom:1px solid var(--rule); }
.avatar { width:36px; height:36px; border-radius:50%; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:600; font-size:13px; flex-shrink:0; }
.avatar.amber { background:var(--amber); color:var(--ink); }
.case-name { font-weight:600; font-size:14px; }
.case-sub { font-size:12.5px; color:var(--ink-3); }
.decision { margin-top:14px; border:1px solid var(--rule); border-radius:10px; padding:14px; background:var(--panel); }
.decision h5 { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); margin-bottom:8px; font-weight:500; }
.decision p { font-size:13.5px; color:var(--ink-2); line-height:1.5; }
@media (prefers-reduced-motion: reduce) { .live-scene.active { animation:none; } }

/* ═══════════════ SIGNALS → DECISION (Resource C) ═══════════════ */
.sig { display:grid; grid-template-columns: 360px 1fr; gap:28px; align-items:start; }
.sig-list { display:flex; flex-direction:column; gap:8px; }
.sig-opt { text-align:left; padding:14px 16px; border-radius:10px; border:1px solid var(--dark-rule); background:var(--dark-2); color:rgba(255,255,255,.86); transition:all .15s; display:grid; gap:4px; }
.sig-opt:hover { border-color:rgba(245,158,11,.4); }
.sig-opt .q { font-size:14.5px; line-height:1.4; }
.sig-opt .n { font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.45); }
.sig-opt[aria-checked="true"] { border-color:var(--amber); background:#1d1a12; box-shadow: inset 3px 0 0 var(--amber); }
.sig-card { background:#fff; color:var(--ink); border-radius:14px; overflow:hidden; box-shadow: 0 40px 80px -30px rgba(0,0,0,.5); }
.sig-card-head { padding:18px 20px; border-bottom:1px solid var(--rule); display:flex; justify-content:space-between; gap:10px 12px; align-items:center; flex-wrap:wrap; }
.sig-card-head .msg { flex-basis:100%; font-size:15px; }
.seg { display:inline-flex; border:1px solid var(--rule-strong); border-radius:8px; padding:2px; background:#fff; }
.seg button { padding:6px 10px; font-size:12.5px; border-radius:6px; color:var(--ink-2); min-height:32px; }
.seg button[aria-pressed="true"] { background:var(--ink); color:#fff; }
.sig-verdict { padding:16px 20px; border-bottom:1px solid var(--rule); display:flex; gap:12px; align-items:center; flex-wrap:wrap; font-size:14px; }
.sig-verdict strong { font-family:var(--font-display); font-size:16px; }
/* vertical flow layout (tweak) */
body[data-signals="flow"] .sig { grid-template-columns:1fr; }
body[data-signals="flow"] .sig-list { flex-direction:row; flex-wrap:wrap; }
body[data-signals="flow"] .sig-opt { flex:1 1 180px; }
@media (max-width:960px){ .sig { grid-template-columns:minmax(0,1fr); } }

/* ═══════════════ CONNECTORS ═══════════════ */
.conn { display:grid; grid-template-columns: 1fr 1.3fr; gap:48px; align-items:start; }
@media (max-width:960px){ .conn{ grid-template-columns:1fr; gap:28px; } }
.conn-groups { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:640px){ .conn-groups{ grid-template-columns:1fr; } }
.conn-group { border:1px solid var(--rule); border-radius:12px; background:var(--panel-2); padding:18px; }
.conn-group h4 { font-size:15px; margin-bottom:12px; }
.conn-list { list-style:none; display:flex; flex-direction:column; gap:8px; padding:0; margin:0; }
.conn-list li { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:14px; padding:8px 0; border-bottom:1px dashed var(--rule); }
.conn-list li:last-child { border-bottom:0; }
.conn details { margin-top:12px; font-size:13.5px; color:var(--ink-2); }
.conn summary { cursor:pointer; font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); padding:6px 0; list-style:none; display:inline-flex; gap:6px; align-items:center; }
.conn summary::-webkit-details-marker { display:none; }
.conn summary::before { content:"+"; font-size:14px; color:var(--amber-700); width:12px; }
.conn details[open] summary::before { content:"–"; }
.conn details p { margin-top:6px; line-height:1.6; }
.conn-legend { display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
.conn-note { font-size:12.5px; color:var(--ink-3); margin-top:14px; line-height:1.55; }

/* ═══════════════ ACOMPAÑAMIENTO ═══════════════ */
.guide { display:grid; grid-template-columns: 1.05fr 1fr; gap:48px; align-items:center; }
@media (max-width:960px){ .guide{ grid-template-columns:1fr; gap:32px; } }
.guide-img { border-radius:var(--r-5); overflow:hidden; aspect-ratio: 4/3; background:var(--panel); }
.guide-img img { width:100%; height:100%; object-fit:cover; }
.guide-cards { display:grid; gap:14px; margin-top:28px; }
.guide-card { border:1px solid var(--rule); border-radius:12px; padding:20px 22px; background:var(--panel-2); }
.guide-card.primary { background:var(--ink); color:#fff; border-color:var(--ink); }
.guide-card.primary h4 { color:#fff; }
.guide-card.primary p, .guide-card.primary li { color:rgba(255,255,255,.75); }
.guide-card-top { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:10px; flex-wrap:wrap; }
.guide-card h4 { font-size:18px; }
.guide-card p { font-size:14.5px; color:var(--ink-2); }
.guide-card ul { margin:10px 0 0 18px; font-size:14px; color:var(--ink-2); display:grid; gap:4px; }
.guide-card.primary .pill { background:rgba(245,158,11,.14); border-color:rgba(245,158,11,.35); color:var(--amber-300); }

/* ═══════════════ NOSOTROS ═══════════════ */
.why { display:grid; grid-template-columns: 1fr 1.1fr; gap:56px; align-items:start; }
@media (max-width:960px){ .why{ grid-template-columns:1fr; gap:28px; } }
.why blockquote { font-family:var(--font-display); font-size: clamp(22px,2.3vw,30px); line-height:1.3; letter-spacing:-.015em; color:#fff; font-weight:500; }
.principles { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--dark-rule); border:1px solid var(--dark-rule); border-radius:12px; overflow:hidden; }
.principles > div { background:var(--dark-2); padding:22px; }
.principles h4 { color:#fff; font-size:16px; margin-bottom:6px; }
.principles p { color:rgba(255,255,255,.62); font-size:14px; line-height:1.55; }
@media (max-width:560px){ .principles{ grid-template-columns:1fr; } }

/* ═══════════════ FAQ ═══════════════ */
.faq2 { max-width:880px; margin:0 auto; display:flex; flex-direction:column; border-top:1px solid var(--rule); }
.faq2 details { border-bottom:1px solid var(--rule); }
.faq2 summary { list-style:none; cursor:pointer; padding:20px 44px 20px 0; position:relative; font-family:var(--font-display); font-size:17px; font-weight:600; letter-spacing:-.01em; }
.faq2 summary::-webkit-details-marker { display:none; }
.faq2 summary::after { content:"+"; position:absolute; right:4px; top:16px; font-size:22px; font-weight:400; color:var(--ink-3); transition:transform .15s; }
.faq2 details[open] summary::after { transform: rotate(45deg); color:var(--amber-700); }
.faq2 .a { padding:0 44px 22px 0; color:var(--ink-2); font-size:15px; line-height:1.65; }
.faq2 .a p + p { margin-top:10px; }

/* ═══════════════ CTA band ═══════════════ */
.cta-band { text-align:center; }
.cta-band h2 { max-width:22ch; margin:0 auto 18px; }
.cta-band .lead { margin:0 auto 32px; color:rgba(255,255,255,.7); }
.cta-band .row { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ═══════════════ PAGE HERO (inner pages) ═══════════════ */
.phero { padding: clamp(56px,7vw,96px) 0 clamp(40px,5vw,64px); position:relative; }
.phero .eyebrow { margin-bottom:20px; }
.phero h1 { font-size: clamp(38px,4.6vw,60px); max-width:20ch; margin-bottom:20px; }
.phero .lead { max-width:62ch; }
.phero-ctas { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.subnav { display:flex; gap:6px; flex-wrap:wrap; margin-top:32px; }
.subnav a { font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; padding:8px 12px; border:1px solid var(--rule-strong); border-radius:var(--r-full); color:var(--ink-2); background:var(--panel-2); }
.subnav a:hover { border-color:var(--ink); color:var(--ink); }

/* ═══════════════ PRODUCT SURFACES ═══════════════ */
.surface { display:grid; grid-template-columns: 1fr 1.15fr; gap:56px; align-items:center; padding: clamp(48px,6vw,88px) 0; border-top:1px solid var(--rule); }
.surface.flip > :first-child { order:2; }
@media (max-width:1024px){ .surface{ grid-template-columns:1fr; gap:32px; } .surface.flip > :first-child{ order:0; } }
.surface .tag { font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--amber-700); margin-bottom:14px; display:block; }
.surface h2 { font-size: clamp(28px,3vw,40px); margin-bottom:16px; }
.surface .lead { font-size:17px; }
.jobs { list-style:none; display:grid; gap:12px; margin-top:24px; padding:0; }
.jobs li { display:grid; grid-template-columns: 22px 1fr; gap:12px; font-size:15px; color:var(--ink-2); line-height:1.5; }
.jobs li::before { content:""; width:8px; height:8px; margin-top:7px; border-radius:2px; background:var(--amber); transform: rotate(45deg); justify-self:center; }
.jobs li b { color:var(--ink); font-weight:600; }

/* Campaign fragment */
.camp-steps { display:flex; gap:6px; margin-bottom:14px; flex-wrap:wrap; }
.camp-steps span { font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; padding:5px 8px; border-radius:5px; background:var(--panel); border:1px solid var(--rule); color:var(--ink-3); }
.camp-steps span.done { background:#F0FDF4; border-color:#BBF7D0; color:#166534; }
.camp-steps span.now { background:var(--ink); border-color:var(--ink); color:#fff; }
.flag { margin-top:12px; padding:10px 12px; border-radius:8px; background:var(--amber-50); border:1px solid var(--amber-100); font-size:13px; color:var(--amber-900); line-height:1.45; }

/* Leads fragment */
.lead-tabs { display:flex; gap:2px; border-bottom:1px solid var(--rule); margin:-18px -18px 16px; padding:0 12px; background:var(--panel); }
.lead-tabs span { padding:10px 10px; font-size:12.5px; color:var(--ink-3); border-bottom:2px solid transparent; }
.lead-tabs span.on { color:var(--ink); border-color:var(--amber); font-weight:600; }
.sigbars { display:grid; gap:10px; }
.sigbar { display:grid; grid-template-columns: 120px 1fr auto; gap:10px; align-items:center; font-size:13px; }
.sigbar .bar { height:6px; border-radius:6px; background:var(--panel); border:1px solid var(--rule); overflow:hidden; }
.sigbar .bar i { display:block; height:100%; background:var(--ink); }
.sigbar .bar i.a { background:var(--amber); }
.sigbar .lbl { font-family:var(--font-mono); font-size:10.5px; color:var(--ink-3); letter-spacing:.06em; text-transform:uppercase; }

/* Results fragment */
.funnel { display:grid; gap:8px; }
.funnel-row { display:grid; grid-template-columns: 150px 1fr; gap:12px; align-items:center; font-size:13px; }
.funnel-row .bar { height:26px; border-radius:6px; background: repeating-linear-gradient(135deg, var(--panel) 0 6px, #fff 6px 12px); border:1px solid var(--rule); position:relative; }
.funnel-row .bar i { position:absolute; inset:0 auto 0 0; border-radius:5px; background: var(--ink); opacity:.88; }
.funnel-row .bar i.a { background:var(--amber); opacity:1; }
.insight { margin-top:14px; display:grid; gap:8px; }
.insight div { padding:10px 12px; border:1px solid var(--rule); border-radius:8px; font-size:13px; color:var(--ink-2); background:var(--panel); }

/* ═══════════════ POR ATENDER (Resource D) ═══════════════ */
.att-filters { display:flex; gap:6px; flex-wrap:wrap; padding:12px 14px; border-bottom:1px solid var(--rule); background:var(--panel); }
.att-filter { padding:7px 12px; border-radius:var(--r-full); border:1px solid var(--rule-strong); font-size:12.5px; color:var(--ink-2); background:#fff; min-height:34px; display:inline-flex; align-items:center; gap:6px; }
.att-filter .c { font-family:var(--font-mono); font-size:10.5px; color:var(--ink-3); }
.att-filter[aria-pressed="true"] { background:var(--ink); color:#fff; border-color:var(--ink); }
.att-filter[aria-pressed="true"] .c { color:var(--amber); }
.att-list { list-style:none; padding:0; margin:0; }
.att-item { border-bottom:1px solid var(--rule); }
.att-item:last-child { border-bottom:0; }
.att-row { width:100%; text-align:left; display:grid; grid-template-columns: 36px 1fr auto 18px; gap:12px; align-items:center; padding:14px; }
.att-row:hover { background:var(--panel); }
.att-row .chev { transition: transform .15s; color:var(--ink-3); }
.att-row[aria-expanded="true"] .chev { transform: rotate(180deg); }
.att-reason { font-size:12.5px; color:var(--ink-2); margin-top:2px; }
.att-detail { padding:0 14px 16px 62px; display:grid; gap:10px; }
.att-detail[hidden] { display:none !important; }
.att-kv { display:grid; grid-template-columns: 120px 1fr; gap:10px; font-size:13px; line-height:1.5; }
.att-kv b { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); font-weight:500; padding-top:2px; }
.att-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:4px; }
.att-item.done .att-row { opacity:.55; }
.att-empty { padding:22px 14px; font-size:13.5px; color:var(--ink-3); text-align:center; }
@media (max-width:560px){ .att-detail{ padding-left:14px; } .att-kv{ grid-template-columns:1fr; gap:2px; } .att-row{ grid-template-columns: 32px 1fr 18px; } .att-row .pill{ display:none; } }

/* ═══════════════ SCENARIO EXPLORER ═══════════════ */
.explore { display:grid; grid-template-columns: 1fr 1fr; gap:0; border:1px solid var(--rule); border-radius:var(--r-5); overflow:hidden; background:var(--panel-2); }
@media (max-width:900px){ .explore{ grid-template-columns:minmax(0,1fr); } }
.explore-in, .explore-out { min-width:0; }
.frag, .surface > * { min-width:0; }
@media (max-width:560px){ .illustrative { white-space:normal; } .explore-in, .explore-out { padding:20px; } .explore-big .v { font-size:28px; } }
.explore-in { padding:28px; display:grid; gap:22px; border-right:1px solid var(--rule); }
@media (max-width:900px){ .explore-in{ border-right:0; border-bottom:1px solid var(--rule);} }
.explore-field label { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:14px; font-weight:500; margin-bottom:10px; }
.explore-field output { font-family:var(--font-mono); font-size:13px; color:var(--ink); background:var(--panel); border:1px solid var(--rule); padding:2px 8px; border-radius:5px; }
.explore-field .hint { font-size:12.5px; color:var(--ink-3); margin-top:6px; }
input[type=range].dp-range { width:100%; accent-color: var(--amber); height:28px; }
.explore-out { padding:28px; background:var(--dark); color:#fff; display:flex; flex-direction:column; gap:18px; }
.explore-big { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.explore-big div { border:1px solid var(--dark-rule); border-radius:10px; padding:16px; }
.explore-big .v { font-family:var(--font-display); font-size: clamp(30px,3.2vw,42px); font-weight:600; letter-spacing:-.02em; color:#fff; line-height:1; }
.explore-big .v.a { color:var(--amber); }
.explore-big .l { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-top:8px; }
.explore-assume { font-size:13px; color:rgba(255,255,255,.68); line-height:1.6; border-top:1px solid var(--dark-rule); padding-top:14px; }
.explore-assume code { font-family:var(--font-mono); font-size:12px; color:var(--amber-300); }

/* ═══════════════ METHODOLOGY ═══════════════ */
.meth-figure { margin: 8px 0 0; }
.meth-figure img { width:100%; height:auto; border-radius:var(--r-5); background:var(--canvas); }
.meth-captions { display:grid; grid-template-columns: repeat(5,1fr); gap:12px; margin-top:10px; }
.meth-captions div { text-align:center; }
.meth-captions b { display:block; font-family:var(--font-display); font-size:16px; }
.meth-captions span { font-size:12.5px; color:var(--ink-3); }
@media (max-width:720px){ .meth-captions{ grid-template-columns:1fr 1fr; text-align:left; } .meth-captions div{ text-align:left; border-left:2px solid var(--amber); padding-left:10px; } }
.concepts { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:960px){ .concepts{ grid-template-columns:1fr; } }
.concept { border:1px solid var(--rule); border-radius:12px; padding:24px; background:var(--panel-2); display:flex; flex-direction:column; gap:10px; }
.concept .k { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--amber-700); }
.concept h3 { font-size:22px; }
.concept p { font-size:14.5px; color:var(--ink-2); }
.concept .q { margin-top:auto; padding-top:12px; border-top:1px dashed var(--rule); font-size:13.5px; color:var(--ink); font-style:italic; }
.defs { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
@media (max-width:760px){ .defs{ grid-template-columns:1fr; } }
.def { border-radius:12px; padding:22px; background:var(--panel); border:1px solid var(--rule); }
.def h4 { margin-bottom:8px; }
.def p { font-size:14.5px; color:var(--ink-2); }
.def.dark { background:var(--ink); border-color:var(--ink); }
.def.dark h4 { color:#fff; } .def.dark p { color:rgba(255,255,255,.75); }
.stages { display:grid; gap:12px; }
.stage { border:1px solid var(--rule); border-radius:14px; background:var(--panel-2); overflow:hidden; }
.stage > summary { list-style:none; cursor:pointer; display:grid; grid-template-columns: 56px 1fr auto; gap:16px; align-items:center; padding:20px 22px; }
.stage > summary::-webkit-details-marker { display:none; }
.stage .letter { width:44px; height:44px; border-radius:10px; background:var(--ink); color:var(--amber); font-family:var(--font-display); font-weight:700; font-size:18px; display:flex; align-items:center; justify-content:center; }
.stage h3 { font-size:20px; }
.stage .sub { font-size:14px; color:var(--ink-2); margin-top:4px; }
.stage .tog { font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); white-space:nowrap; }
.stage[open] .tog .o { display:none; } .stage:not([open]) .tog .c { display:none; }
.stage-body { padding:4px 22px 24px 94px; display:grid; grid-template-columns: 1fr 1fr; gap:28px; }
.stage-body h5 { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); margin-bottom:10px; font-weight:500; }
.stage-body p, .stage-body li { font-size:14.5px; color:var(--ink-2); line-height:1.6; }
.stage-body ul { margin-left:18px; display:grid; gap:6px; }
@media (max-width:820px){ .stage-body{ grid-template-columns:1fr; padding:4px 20px 22px; } .stage > summary{ grid-template-columns: 44px 1fr; } .stage .tog{ display:none; } }
.answers { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--dark-rule); border:1px solid var(--dark-rule); border-radius:12px; overflow:hidden; }
.answers div { background:var(--dark-2); padding:20px; }
.answers b { display:block; color:var(--amber); font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:6px; font-weight:500; }
.answers p { color:rgba(255,255,255,.78); font-size:14.5px; }
@media (max-width:860px){ .answers{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .answers{ grid-template-columns:1fr; } }

/* ═══════════════ PLANS (neutral) ═══════════════ */
.plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:960px){ .plan-grid{ grid-template-columns:1fr; } }
.plan-card { border:1px solid var(--rule); border-radius:14px; padding:26px; background:var(--panel-2); display:flex; flex-direction:column; gap:10px; }
.plan-card h3 { font-size:20px; }
.plan-card p, .plan-card li { font-size:14.5px; color:var(--ink-2); }
.plan-card ul { margin-left:18px; display:grid; gap:6px; }
.talk { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media (max-width:960px){ .talk{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .talk{ grid-template-columns:1fr; } }
.talk div { border-top:2px solid var(--ink); padding-top:16px; }
.talk h4 { font-size:16px; margin-bottom:6px; }
.talk p { font-size:14px; color:var(--ink-2); }

/* ═══════════════ CONTACT ═══════════════ */
.demo-agenda { list-style:none; display:grid; gap:12px; padding:0; margin:0; counter-reset: ag; }
.demo-agenda li { counter-increment: ag; display:grid; grid-template-columns: 32px 1fr; gap:12px; font-size:15px; color:var(--ink-2); line-height:1.5; }
.demo-agenda li::before { content: counter(ag, decimal-leading-zero); font-family:var(--font-mono); font-size:11px; color:var(--amber-700); padding-top:4px; letter-spacing:.06em; }
.demo-agenda li b { color:var(--ink); display:block; font-weight:600; }

/* ═══════════════ BOOKING MODAL (global) ═══════════════ */
.dp-book { position:fixed; inset:0; z-index:1000; background:rgba(11,11,12,.55); backdrop-filter: blur(4px); display:none; align-items:center; justify-content:center; padding:24px; }
.dp-book.open { display:flex; }
.dp-book-panel { background:#fff; border-radius:14px; width:100%; max-width:960px; height:min(88vh,780px); display:flex; flex-direction:column; overflow:hidden; box-shadow:0 30px 80px -20px rgba(0,0,0,.4); }
.dp-book-head { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 20px; border-bottom:1px solid var(--rule); }
.dp-book-head b { font-family:var(--font-display); font-size:15px; }
.dp-book-head small { display:block; font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); margin-top:2px; }
.dp-book-x { width:36px; height:36px; border-radius:8px; border:1px solid var(--rule); display:flex; align-items:center; justify-content:center; }
.dp-book-body { flex:1; position:relative; }
.dp-book-body iframe { width:100%; height:100%; border:0; }
.dp-book-fallback { position:absolute; left:0; right:0; bottom:0; padding:10px 20px; font-size:12.5px; color:var(--ink-3); background:var(--panel); border-top:1px solid var(--rule); }
.dp-book-fallback a { color:var(--ink); text-decoration:underline; }
body.no-scroll { overflow:hidden; }

/* ═══════════════ TWEAKS PANEL (design-time only) ═══════════════ */
#dp-tweaks-panel { position:fixed; right:20px; bottom:20px; z-index:2000; width:300px; background:var(--ink); color:#fff; border-radius:12px; padding:16px; box-shadow:0 20px 60px rgba(0,0,0,.35); font-size:13px; }
#dp-tweaks-panel h6 { font-family:var(--font-display); font-size:15px; margin:0 0 12px; display:flex; justify-content:space-between; align-items:center; }
#dp-tweaks-panel .tw-group { margin-bottom:14px; }
#dp-tweaks-panel .tw-label { font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:6px; }
#dp-tweaks-panel .tw-opts { display:flex; flex-direction:column; gap:4px; }
#dp-tweaks-panel button.tw-opt { text-align:left; padding:8px 10px; border-radius:7px; border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.8); font-size:12.5px; }
#dp-tweaks-panel button.tw-opt[aria-pressed="true"] { border-color:var(--amber); color:#fff; background:rgba(245,158,11,.12); }

/* ═══════════════ V2 · 2026-11 additions ═══════════════ */
/* Single-column section heads (no narrow number column inheriting the title) */
.section-head.stack { grid-template-columns:minmax(0,1fr); gap:14px; }
.section-head.stack .num { padding-top:0; }
.section-head.stack h2 { max-width:26ch; }
.section-head.stack .lead { margin-top:4px; }

/* Focus · three cards */
.focus3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--rule); border:1px solid var(--rule); border-radius:var(--r-4); overflow:hidden; }
.focus3 > div { background:var(--panel-2); padding:30px 26px; }
.focus3 .k { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.14em; color:var(--amber-700); display:block; margin-bottom:18px; }
.focus3 h3 { font-size:21px; margin-bottom:10px; }
.focus3 p { font-size:15px; color:var(--ink-2); line-height:1.55; }
@media (max-width:860px){ .focus3{ grid-template-columns:minmax(0,1fr); } }

/* How it works · three questions */
.q3 { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.q3 li { border-top:2px solid var(--ink); padding-top:22px; }
.q3-n { display:inline-flex; width:34px; height:34px; border-radius:9px; background:var(--ink); color:var(--amber); font-family:var(--font-display); font-weight:700; align-items:center; justify-content:center; margin-bottom:16px; }
.q3 h3 { font-size:22px; margin-bottom:10px; }
.q3 p { font-size:15.5px; color:var(--ink-2); line-height:1.55; }
.q3-more { margin-top:32px; }
@media (max-width:860px){ .q3{ grid-template-columns:minmax(0,1fr); gap:28px; } }

/* Reply → decision (trimmed) */
.sig-rows { display:grid; }
.sig-row { display:grid; grid-template-columns:140px minmax(0,1fr); gap:14px; padding:14px 20px; border-bottom:1px solid var(--rule); align-items:start; }
.sig-row h5 { font-family:var(--font-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); font-weight:500; padding-top:3px; }
.sig-row p { font-size:14.5px; color:var(--ink-2); line-height:1.55; }
.sig-more summary { list-style:none; cursor:pointer; padding:14px 20px; font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); display:flex; gap:8px; align-items:center; }
.sig-more summary::-webkit-details-marker { display:none; }
.sig-more summary::before { content:"+"; color:var(--amber-700); font-size:14px; width:12px; }
.sig-more[open] summary::before { content:"–"; }
.sig-more[open] summary { border-bottom:1px solid var(--rule); }
.sig-more .sig-row:last-child { border-bottom:0; }
@media (max-width:560px){ .sig-row{ grid-template-columns:minmax(0,1fr); gap:4px; } }

/* Plan cards */
.pc-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:stretch; }
@media (max-width:960px){ .pc-grid{ grid-template-columns:minmax(0,1fr); max-width:560px; } }
.pc { position:relative; border:1px solid var(--rule); border-radius:16px; padding:28px 26px; background:var(--panel-2); display:flex; flex-direction:column; gap:14px; scroll-margin-top:calc(var(--nav-h) + 16px); }
.pc.pc-hl { background:var(--ink); border-color:var(--ink); color:#fff; box-shadow:0 30px 60px -30px rgba(11,11,12,.45); }
.pc.pc-hl h3 { color:#fff; }
.pc.pc-hl::before { content:""; position:absolute; left:26px; right:26px; top:0; height:3px; background:var(--amber); border-radius:0 0 3px 3px; }
.pc:target { outline:2px solid var(--amber); outline-offset:3px; }
.pc h3 { font-size:24px; }
.pc-desc { font-size:15px; color:var(--ink-2); min-height:2.9em; }
.pc.pc-hl .pc-desc { color:rgba(255,255,255,.72); }
.pc-price { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; margin-top:4px; }
.pc-cur { font-family:var(--font-mono); font-size:12px; letter-spacing:.12em; color:var(--ink-3); font-weight:500; }
.pc.pc-hl .pc-cur { color:var(--amber-300); }
.pc-amt { font-family:var(--font-display); font-weight:600; font-size:clamp(34px,3.4vw,44px); letter-spacing:-.03em; line-height:1; font-variant-numeric:tabular-nums; }
.pc-per { font-size:13px; color:var(--ink-3); margin-top:-4px; }
.pc.pc-hl .pc-per { color:rgba(255,255,255,.55); }
.pc-caps { list-style:none; padding:16px 0 0; margin:0; border-top:1px solid var(--rule); display:grid; gap:9px; font-size:14.5px; color:var(--ink-2); }
.pc.pc-hl .pc-caps { border-color:var(--dark-rule); color:rgba(255,255,255,.8); }
.pc-caps li { display:grid; grid-template-columns:14px minmax(0,1fr); gap:10px; line-height:1.45; }
.pc-caps li::before { content:""; width:7px; height:7px; margin-top:7px; border-radius:2px; background:var(--amber); transform:rotate(45deg); }
.pc-caps b { color:var(--ink); font-weight:600; font-variant-numeric:tabular-nums; }
.pc.pc-hl .pc-caps b { color:#fff; }
.pc-cta { margin-top:auto; padding-top:6px; }
.pc-cta .btn { width:100%; }
.pc.pc-hl .btn-dark { background:#fff; color:var(--ink); }
.pc-foot { display:flex; justify-content:space-between; align-items:center; gap:16px 24px; flex-wrap:wrap; margin-top:24px; }
.pc-foot p { font-size:14px; color:var(--ink-3); max-width:60ch; }

/* Comparison table (scroll contained on mobile) */
.cmp-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--rule); border-radius:var(--r-4); background:var(--panel-2); }
.cmp-wrap:focus-visible { outline:2px solid var(--amber); outline-offset:2px; }
.cmp-table { width:100%; min-width:680px; border-collapse:collapse; font-size:14.5px; }
.cmp-table th, .cmp-table td { padding:14px 18px; border-bottom:1px solid var(--rule); text-align:center; vertical-align:middle; }
.cmp-table thead th { position:sticky; top:0; background:var(--panel); font-weight:600; }
.cmp-table thead th.ct-feat, .cmp-table tbody th[scope="row"] { text-align:left; font-weight:500; color:var(--ink); }
.cmp-table tbody th[scope="row"] { width:40%; }
.cmp-table .ct-name { display:block; font-family:var(--font-display); font-size:16px; }
.cmp-table .ct-pr { display:block; font-family:var(--font-mono); font-size:11.5px; color:var(--ink-3); font-weight:500; margin-top:3px; font-variant-numeric:tabular-nums; }
.cmp-table .hl { background:rgba(245,158,11,.06); }
.cmp-table thead th.hl { background:var(--amber-50); box-shadow: inset 0 3px 0 var(--amber); }
.cmp-table .ct-group th { text-align:left; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); font-weight:500; background:var(--panel); padding-top:18px; }
.cmp-table .ct-num { font-family:var(--font-display); font-weight:600; font-size:16px; font-variant-numeric:tabular-nums; }
.cmp-table .ct-yes { color:var(--ink-2); }
.cmp-table .ct-no { color:var(--ink-3); }
.cmp-table .ct-more { font-size:12.5px; color:var(--amber-700); text-decoration:underline; margin-left:6px; white-space:nowrap; }
.cmp-table tr:last-child th, .cmp-table tr:last-child td { border-bottom:0; }
.cmp-note { font-size:13.5px; color:var(--ink-3); margin-top:14px; }

/* AI included */
.ai-box { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:start; }
@media (max-width:900px){ .ai-box{ grid-template-columns:minmax(0,1fr); gap:24px; } }
.ai-box h2 { font-size:clamp(28px,3vw,40px); margin-bottom:16px; }
.dp-details { border:1px solid var(--rule); border-radius:12px; background:var(--panel-2); }
.dp-details + .dp-details { margin-top:10px; }
.dp-details > summary { list-style:none; cursor:pointer; padding:16px 48px 16px 20px; position:relative; font-family:var(--font-display); font-weight:600; font-size:16px; }
.dp-details > summary::-webkit-details-marker { display:none; }
.dp-details > summary::after { content:"+"; position:absolute; right:18px; top:12px; font-size:22px; font-weight:400; color:var(--ink-3); transition:transform .15s; }
.dp-details[open] > summary::after { transform:rotate(45deg); color:var(--amber-700); }
.dp-details .dd-body { padding:0 20px 18px; font-size:14.5px; color:var(--ink-2); line-height:1.6; }
.dp-details .dd-body p + p { margin-top:10px; }
.tok-list { list-style:none; padding:0; margin:0 0 14px; display:grid; gap:0; border:1px solid var(--rule); border-radius:10px; overflow:hidden; }
.tok-list li { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:12px 14px; border-bottom:1px solid var(--rule); background:#fff; }
.tok-list li:last-child { border-bottom:0; }
.tok-list b { font-variant-numeric:tabular-nums; }

/* Home · misc */
.why-solo blockquote { font-family:var(--font-display); font-size:clamp(24px,2.6vw,34px); line-height:1.3; letter-spacing:-.015em; color:#fff; font-weight:500; max-width:34ch; }
.conn-h { font-size:clamp(28px,3vw,38px); margin-bottom:16px; }
.guide-h { font-size:clamp(28px,3vw,40px); margin-bottom:8px; max-width:20ch; }
.guide-card p + p { margin-top:0; }

/* Contact · interest summary */
.ct-interest { border:1px solid var(--amber-100); background:var(--amber-50); border-radius:12px; padding:16px 18px; margin-bottom:24px; }
.ct-interest b { display:block; font-family:var(--font-display); font-size:17px; color:var(--ink); margin-bottom:4px; }
.ct-interest p { font-size:14px; color:var(--ink-2); }
.ct-interest a { font-size:13px; color:var(--amber-900); text-decoration:underline; margin-top:8px; display:inline-block; }

/* Product · results by plan */
.rplan { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
@media (max-width:900px){ .rplan{ grid-template-columns:minmax(0,1fr); } }
.rplan > div { border:1px solid var(--rule); border-radius:12px; padding:22px; background:var(--panel-2); }
.rplan > div.hl { border-color:var(--ink); }
.rplan h3 { font-size:19px; margin-bottom:8px; }
.rplan p { font-size:14.5px; color:var(--ink-2); }

/* Focus visibility */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible { outline:2px solid var(--amber); outline-offset:2px; border-radius:4px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition:none !important; animation:none !important; } }

/* Methodology v2 */
.m-def { font-family:var(--font-display); font-size:clamp(24px,2.6vw,34px); line-height:1.3; letter-spacing:-.015em; color:#fff; font-weight:500; max-width:38ch; border-left:3px solid var(--amber); padding-left:24px; }
.m-def-sub { margin-top:20px; padding-left:27px; color:rgba(255,255,255,.7); font-size:16px; max-width:70ch; }
.m-details { max-width:880px; }
