/* page-extras.css — Page-specific utility classes consolidated from inner pages */

/* ── agent4.html ── */
.agent-arch-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }
.agent-arch-card { background: rgba(0,0,0,0.3); border: 1px solid rgba(0,255,136,0.12); border-radius: 4px; padding: 1.5rem; }
.agent-arch-num { font-family: var(--font-mono); font-size: 2rem; font-weight: 900; color: rgba(0,255,136,0.25); line-height: 1; margin-bottom: 0.5rem; }
.agent-arch-label { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(0,255,136,0.8); margin-bottom: 0.5rem; }
.agent-arch-desc { font-size: 0.85rem; color: rgba(255,255,255,0.5); line-height: 1.6; }
.agent-use-card { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; padding: 1.5rem; }
.agent-use-domain { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(0,255,136,0.7); margin-bottom: 0.5rem; }
.agent-use-title { font-weight: 700; color: #fff; font-size: 0.92rem; margin-bottom: 0.4rem; }
.agent-use-desc { font-size: 0.82rem; color: rgba(255,255,255,0.5); line-height: 1.6; }

/* ── buildathon.html ── */
.build-track-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px,1fr)); gap: 1.25rem; }
.build-track-card { background: rgba(0,0,0,0.3); border: 1px solid rgba(0,255,136,0.12); border-radius: 4px; padding: 1.5rem; transition: border-color 0.2s; }
.build-track-card:hover { border-color: rgba(0,255,136,0.35); }
.build-track-num { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(0,255,136,0.7); margin-bottom: 0.5rem; }
.build-track-name { font-weight: 700; color: #fff; font-size: 0.95rem; margin-bottom: 0.4rem; }
.build-track-desc { font-size: 0.82rem; color: rgba(255,255,255,0.5); line-height: 1.6; }
.prize-card { background: rgba(0,255,136,0.04); border: 1px solid rgba(0,255,136,0.2); border-radius: 4px; padding: 2rem; text-align: center; }
.prize-place { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(0,255,136,0.8); margin-bottom: 0.4rem; }
.prize-amount { font-size: 2.5rem; font-weight: 900; color: #fff; font-family: var(--font-mono); margin-bottom: 0.25rem; }
.prize-desc { font-size: 0.82rem; color: rgba(255,255,255,0.5); }
.timeline-row { display: flex; gap: 1.5rem; align-items: flex-start; padding: 1.25rem 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
.timeline-row:last-child { border-bottom: none; }
.timeline-date { font-family: var(--font-mono); font-size: 0.75rem; color: rgba(0,255,136,0.8); min-width: 120px; flex-shrink: 0; }
.timeline-event { font-size: 0.875rem; color: rgba(255,255,255,0.6); }
.timeline-event strong { color: #fff; display: block; margin-bottom: 0.2rem; }

/* ── vision.html ── */
.vision-phase-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }
.vision-phase-card { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; padding: 1.75rem; position: relative; }
.vision-phase-card.active-phase { border-color: rgba(0,255,136,0.35); background: rgba(0,255,136,0.04); }
.phase-badge { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; border-radius: 4px; padding: 0.2rem 0.55rem; display: inline-block; margin-bottom: 0.75rem; }
.phase-badge--live { color: rgba(0,255,136,0.9); background: rgba(0,255,136,0.12); border: 1px solid rgba(0,255,136,0.25); }
.phase-badge--upcoming { color: rgba(255,255,255,0.4); background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); }
.phase-title { font-weight: 700; color: #fff; font-size: 1rem; margin-bottom: 0.5rem; }
.phase-desc { font-size: 0.85rem; color: rgba(255,255,255,0.5); line-height: 1.65; }
.vision-principle { display: flex; gap: 1.25rem; align-items: flex-start; padding: 1.25rem; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; }
.vision-principle-icon { font-size: 1.3rem; flex-shrink: 0; }
.vision-principle strong { display: block; color: #fff; font-size: 0.92rem; margin-bottom: 0.3rem; }
.vision-principle span { font-size: 0.82rem; color: rgba(255,255,255,0.5); line-height: 1.6; }

/* ── research.html ── */
.paper-grid { display: flex; flex-direction: column; gap: 1.5rem; max-width: 820px; }
.paper-card { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; padding: 2rem; transition: border-color 0.2s; }
.paper-card:hover { border-color: rgba(0,255,136,0.25); }
.paper-type { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(0,255,136,0.75); margin-bottom: 0.6rem; }
.paper-title { font-size: 1.2rem; font-weight: 700; color: #fff; line-height: 1.35; margin-bottom: 0.5rem; }
.paper-authors { font-size: 0.85rem; color: rgba(255,255,255,0.5); margin-bottom: 0.75rem; }
.paper-abstract { font-size: 0.875rem; color: rgba(255,255,255,0.5); line-height: 1.7; margin-bottom: 1.25rem; }
.paper-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 1.25rem; }
.paper-tag { font-family: var(--font-mono); font-size: 0.72rem; padding: 0.2rem 0.6rem; border-radius: 4px; background: rgba(0,255,136,0.08); border: 1px solid rgba(0,255,136,0.2); color: rgba(0,255,136,0.9); }
.paper-tag.grey { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.1); color: rgba(255,255,255,0.5); }
.paper-links { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.paper-btn { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.55rem 1rem; border-radius: 4px; font-family: var(--font-mono); font-size: 0.8rem; font-weight: 600; text-decoration: none; transition: all 0.2s; }
.paper-btn-primary { background: rgba(0,255,136,0.12); border: 1px solid rgba(0,255,136,0.3); color: rgba(0,255,136,0.9); }
.paper-btn-primary:hover { background: rgba(0,255,136,0.2); }
.paper-btn-secondary { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); color: rgba(255,255,255,0.6); }
.paper-btn-secondary:hover { border-color: rgba(255,255,255,0.2); color: #fff; }
.stat-strip { display: flex; gap: 2rem; padding: 1.5rem 2rem; background: rgba(0,255,136,0.04); border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; flex-wrap: wrap; }
.stat-strip-item { text-align: center; }
.stat-strip-val { font-family: var(--font-mono); font-size: 1.4rem; font-weight: 900; color: rgba(0,255,136,0.9); }
.stat-strip-label { font-size: 0.72rem; color: rgba(255,255,255,0.4); }

/* ── investor.html ── */
.inv-metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
@media (max-width: 800px) { .inv-metric-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .inv-metric-grid { grid-template-columns: 1fr 1fr; } }
.inv-metric-card { background: rgba(0,255,136,0.04); border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; padding: 1.5rem; text-align: center; }
.inv-metric-val { font-family: var(--font-mono); font-size: clamp(1.3rem, 3vw, 2rem); font-weight: 900; color: rgba(0,255,136,0.9); line-height: 1.1; margin-bottom: 0.25rem; }
.inv-metric-label { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255,255,255,0.4); }
.inv-section-title { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(0,255,136,0.7); margin-bottom: 0.75rem; }
.inv-pillar { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; padding: 1.5rem; }
.inv-pillar-title { font-weight: 700; color: #fff; font-size: 0.92rem; margin-bottom: 0.4rem; }
.inv-pillar-desc { font-size: 0.82rem; color: rgba(255,255,255,0.5); line-height: 1.6; }
.inv-revenue-row { display: flex; align-items: center; justify-content: space-between; padding: 0.85rem 1.1rem; border-bottom: 1px solid rgba(255,255,255,0.05); }
.inv-revenue-row:last-child { border-bottom: none; }
.inv-revenue-plan { font-family: var(--font-mono); font-size: 0.8rem; color: rgba(255,255,255,0.8); }
.inv-revenue-price { font-family: var(--font-mono); font-size: 0.85rem; font-weight: 700; color: rgba(0,255,136,0.9); }
.inv-revenue-desc { font-size: 0.8rem; color: rgba(255,255,255,0.4); text-align: right; }

/* ── paradigm.html ── */
.pdgm-contrast-table { width: 100%; border-collapse: collapse; }
.pdgm-contrast-table th { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.4); padding: 0.75rem 1rem; border-bottom: 1px solid rgba(255,255,255,0.08); text-align: left; }
.pdgm-contrast-table td { padding: 0.75rem 1rem; font-size: 0.875rem; border-bottom: 1px solid rgba(255,255,255,0.05); vertical-align: top; line-height: 1.5; }
.pdgm-contrast-table tr:last-child td { border-bottom: none; }
.pdgm-old { color: rgba(255,80,80,0.8); }
.pdgm-new { color: rgba(0,255,136,0.9); }
.pdgm-row-label { font-family: var(--font-mono); font-size: 0.72rem; color: rgba(255,255,255,0.5); }
.analogy-card { background: rgba(0,255,136,0.04); border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; padding: 1.5rem; }
.analogy-from { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.1em; color: rgba(255,255,255,0.4); margin-bottom: 0.25rem; }
.analogy-name { font-weight: 700; color: #fff; font-size: 0.95rem; margin-bottom: 0.35rem; }
.analogy-desc { font-size: 0.82rem; color: rgba(255,255,255,0.5); line-height: 1.6; }

/* ── glossary.html ── */
.glossary-search-wrap { position: relative; margin-bottom: 2rem; max-width: 480px; }
.glossary-search { width: 100%; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.12); border-radius: 4px; color: #fff; padding: 0.75rem 1rem; font-family: var(--font-mono); font-size: 0.9rem; outline: none; transition: border-color 0.2s; box-sizing: border-box; }
.glossary-search:focus { border-color: rgba(0,255,136,0.4); }
.glossary-search::placeholder { color: rgba(255,255,255,0.3); }
.glossary-entry { margin-bottom: 0; }
.glossary-term { display: flex; align-items: baseline; gap: 0.75rem; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,0.06); cursor: default; }
.glossary-term:hover .glossary-term-name { color: rgba(0,255,136,0.9); }
.glossary-term-name { font-family: var(--font-mono); font-weight: 700; font-size: 0.95rem; color: #fff; min-width: 160px; flex-shrink: 0; transition: color 0.15s; }
.glossary-term-def { font-size: 0.875rem; color: rgba(255,255,255,0.55); line-height: 1.7; }
.glossary-term-def code { font-family: var(--font-mono); font-size: 0.82rem; color: rgba(0,255,136,0.9); background: rgba(0,255,136,0.06); padding: 0.05rem 0.3rem; border-radius: 3px; }
.glossary-section-head { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.25em; text-transform: uppercase; color: rgba(0,255,136,0.7); margin: 2rem 0 0.5rem; padding-bottom: 0.5rem; border-bottom: 1px solid rgba(0,255,136,0.15); }
.glossary-entry.hidden { display: none; }
.gloss-entry.hidden { display: none; }
@media (max-width: 640px) { .glossary-term { flex-direction: column; gap: 0.3rem; } .glossary-term-name { min-width: auto; } }

/* ── physics-demo.html ── */
.demo-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); gap: 1.25rem; }
.demo-card { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.08); border-radius: 4px; overflow: hidden; transition: border-color 0.2s; }
.demo-card:hover { border-color: rgba(0,255,136,0.3); }
.demo-card-header { padding: 1.25rem 1.4rem 1rem; border-bottom: 1px solid rgba(255,255,255,0.06); }
.demo-domain { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(0,255,136,0.7); margin-bottom: 0.35rem; }
.demo-title { font-weight: 700; color: #fff; font-size: 0.92rem; margin-bottom: 0; }
.demo-card-body { padding: 1.25rem 1.4rem; }
.demo-result-label { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.3); margin-bottom: 0.25rem; }
.demo-result-value { font-family: var(--font-mono); font-size: 1.2rem; font-weight: 700; color: rgba(0,255,136,0.9); margin-bottom: 0.35rem; }
.demo-result-unit { font-family: var(--font-mono); font-size: 0.75rem; color: rgba(255,255,255,0.4); margin-bottom: 1rem; }
.demo-mastersum { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-mono); font-size: 0.7rem; color: rgba(255,255,255,0.35); }
.demo-mastersum-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(0,255,136,0.8); flex-shrink: 0; }
.demo-desc { font-size: 0.78rem; color: rgba(255,255,255,0.4); line-height: 1.55; margin-top: 0.75rem; }
.demo-loading { color: rgba(255,255,255,0.3); font-family: var(--font-mono); font-size: 0.82rem; animation: demo-pulse 1.5s infinite; }
@keyframes demo-pulse { 0%,100%{opacity:1}50%{opacity:0.4} }
.pulse-bar { height: 2px; background: rgba(0,255,136,0.2); position: relative; overflow: hidden; border-radius: 1px; }
.pulse-bar-fill { height: 100%; background: linear-gradient(90deg, transparent, rgba(0,255,136,0.8), transparent); width: 40%; position: absolute; left: -40%; animation: demo-slide 1.8s linear infinite; }
@keyframes demo-slide { 0%{left:-40%}100%{left:140%} }

/* ── security.html ── */
.sec-control-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap: 1.25rem; }
.sec-control-card { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; padding: 1.5rem; }
.sec-control-icon { font-family: var(--font-mono); font-size: 1.2rem; margin-bottom: 0.6rem; }
.sec-control-title { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(0,255,136,0.8); margin-bottom: 0.4rem; }
.sec-control-desc { font-size: 0.82rem; color: rgba(255,255,255,0.5); line-height: 1.65; }
.sec-header-grid { display: grid; grid-template-columns: 200px 1fr; gap: 0; border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; overflow: hidden; max-width: 720px; }
.sec-header-row { display: contents; }
.sec-header-row .sec-hk { padding: 0.75rem 1rem; font-family: var(--font-mono); font-size: 0.78rem; color: rgba(0,255,136,0.9); background: rgba(0,255,136,0.04); border-bottom: 1px solid rgba(255,255,255,0.06); border-right: 1px solid rgba(255,255,255,0.06); }
.sec-header-row .sec-hv { padding: 0.75rem 1rem; font-family: var(--font-mono); font-size: 0.72rem; color: rgba(255,255,255,0.55); background: rgba(0,0,0,0.2); border-bottom: 1px solid rgba(255,255,255,0.06); line-height: 1.4; word-break: break-all; }
.sec-header-row:last-child .sec-hk, .sec-header-row:last-child .sec-hv { border-bottom: none; }
.disc-card { background: rgba(255,107,53,0.05); border: 1px solid rgba(255,107,53,0.2); border-radius: 4px; padding: 1.5rem; }
.disc-title { font-weight: 700; color: #ff8c5a; font-size: 0.92rem; margin-bottom: 0.5rem; }
.disc-desc { font-size: 0.875rem; color: rgba(255,255,255,0.55); line-height: 1.7; }
.disc-desc a { color: rgba(0,255,136,0.9); }

/* ── framework.html ── */
.fw-layer-stack { display: flex; flex-direction: column; gap: 0; max-width: 680px; }
.fw-layer { display: flex; align-items: stretch; min-height: 70px; border: 1px solid rgba(255,255,255,0.07); border-bottom: none; overflow: hidden; }
.fw-layer:last-child { border-bottom: 1px solid rgba(255,255,255,0.07); border-radius: 0 0 4px 4px; }
.fw-layer:first-child { border-radius: 4px 4px 0 0; }
.fw-layer-num { background: rgba(0,255,136,0.06); border-right: 1px solid rgba(0,255,136,0.12); padding: 0 1.25rem; display: flex; align-items: center; font-family: var(--font-mono); font-size: 1rem; font-weight: 700; color: rgba(0,255,136,0.6); min-width: 60px; flex-shrink: 0; }
.fw-layer-body { padding: 1rem 1.25rem; flex: 1; }
.fw-layer-name { font-family: var(--font-mono); font-size: 0.78rem; font-weight: 700; color: #fff; letter-spacing: 0.05em; margin-bottom: 0.2rem; }
.fw-layer-desc { font-size: 0.8rem; color: rgba(255,255,255,0.5); line-height: 1.5; }
.fw-flow-item { display: flex; gap: 1rem; align-items: flex-start; padding: 1rem; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; margin-bottom: 0.5rem; }
.fw-flow-arrow { font-family: var(--font-mono); color: rgba(0,255,136,0.7); flex-shrink: 0; padding-top: 0.1rem; }
.fw-flow-name { font-family: var(--font-mono); font-weight: 700; font-size: 0.85rem; color: rgba(0,255,136,0.9); margin-bottom: 0.2rem; }
.fw-flow-desc { font-size: 0.8rem; color: rgba(255,255,255,0.5); line-height: 1.55; }
.fw-code { border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; overflow: hidden; margin: 1.5rem 0; }
.fw-code pre { margin: 0; padding: 1.25rem; font-family: var(--font-mono); font-size: 0.82rem; line-height: 1.65; color: #b8f5d8; background: rgba(0,0,0,0.28); overflow-x: auto; }

/* ── math.html ── */
.eq-block { background: rgba(0,0,0,0.35); border: 1px solid rgba(0,255,136,0.18); border-radius: 4px; padding: 1.5rem 2rem; margin: 1.5rem 0; overflow-x: auto; }
.eq-block .eq { font-family: var(--font-mono); font-size: clamp(0.85rem, 1.8vw, 1.1rem); color: #b8f5d8; line-height: 2; white-space: pre; }
.eq-label { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(0,255,136,0.6); margin-bottom: 0.5rem; }
.eq-desc { font-size: 0.82rem; color: rgba(255,255,255,0.5); line-height: 1.65; margin-top: 0.75rem; }
.const-table { width: 100%; border-collapse: collapse; max-width: 720px; }
.const-table th { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255,255,255,0.35); padding: 0.6rem 1rem; border-bottom: 1px solid rgba(255,255,255,0.07); text-align: left; }
.const-table td { padding: 0.65rem 1rem; border-bottom: 1px solid rgba(255,255,255,0.04); font-size: 0.85rem; vertical-align: top; }
.const-table tr:last-child td { border-bottom: none; }
.const-sym { font-family: var(--font-mono); color: rgba(0,255,136,0.9); }
.const-val { font-family: var(--font-mono); color: rgba(255,255,255,0.7); }
.const-name { color: rgba(255,255,255,0.5); }
.math-section-head { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.25em; text-transform: uppercase; color: rgba(0,255,136,0.7); margin: 2.5rem 0 0.75rem; padding-bottom: 0.5rem; border-bottom: 1px solid rgba(0,255,136,0.12); }

/* ── protocols.html ── */
.proto-card { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; overflow: hidden; margin-bottom: 2rem; }
.proto-card-header { padding: 1rem 1.5rem; display: flex; align-items: center; gap: 1rem; border-bottom: 1px solid rgba(255,255,255,0.07); background: rgba(0,0,0,0.2); }
.proto-method { font-family: var(--font-mono); font-size: 0.7rem; font-weight: 700; padding: 0.2rem 0.55rem; border-radius: 3px; }
.proto-method.post { background: rgba(0,255,136,0.12); color: rgba(0,255,136,0.9); border: 1px solid rgba(0,255,136,0.25); }
.proto-method.get { background: rgba(80,150,255,0.1); color: rgba(120,180,255,0.9); border: 1px solid rgba(80,150,255,0.2); }
.proto-method.ws { background: rgba(200,100,255,0.1); color: rgba(220,150,255,0.9); border: 1px solid rgba(200,100,255,0.2); }
.proto-method.sse { background: rgba(255,200,0,0.1); color: rgba(255,220,80,0.9); border: 1px solid rgba(255,200,0,0.2); }
.proto-path { font-family: var(--font-mono); font-size: 0.9rem; color: #fff; flex: 1; }
.proto-plan { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.1em; color: rgba(255,255,255,0.35); }
.proto-card-body { padding: 1.5rem; }
.proto-desc { font-size: 0.875rem; color: rgba(255,255,255,0.55); line-height: 1.7; margin-bottom: 1.25rem; }
.proto-params { display: grid; grid-template-columns: 170px 100px 1fr; gap: 0; border: 1px solid rgba(255,255,255,0.06); border-radius: 4px; overflow: hidden; margin-bottom: 1.25rem; font-size: 0.8rem; }
.proto-param { display: contents; }
.proto-param .pp-name { font-family: var(--font-mono); color: rgba(0,255,136,0.9); padding: 0.55rem 0.75rem; border-bottom: 1px solid rgba(255,255,255,0.05); background: rgba(0,0,0,0.15); }
.proto-param .pp-type { font-family: var(--font-mono); color: rgba(255,200,100,0.8); padding: 0.55rem 0.75rem; border-bottom: 1px solid rgba(255,255,255,0.05); border-left: 1px solid rgba(255,255,255,0.04); background: rgba(0,0,0,0.1); }
.proto-param .pp-desc { color: rgba(255,255,255,0.5); padding: 0.55rem 0.75rem; border-bottom: 1px solid rgba(255,255,255,0.05); border-left: 1px solid rgba(255,255,255,0.04); }
.proto-param:last-child .pp-name, .proto-param:last-child .pp-type, .proto-param:last-child .pp-desc { border-bottom: none; }
.proto-header-row { display: contents; }
.proto-header-row .pp-name, .proto-header-row .pp-type, .proto-header-row .pp-desc { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.3); background: rgba(255,255,255,0.02); border-bottom: 1px solid rgba(255,255,255,0.07); }

/* ── skills.html ── */
.skill-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); gap: 1.25rem; }
.skill-card { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; padding: 1.5rem; transition: border-color 0.2s; }
.skill-card:hover { border-color: rgba(0,255,136,0.3); }
.skill-tag { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(0,255,136,0.8); background: rgba(0,255,136,0.08); border: 1px solid rgba(0,255,136,0.2); border-radius: 4px; padding: 0.15rem 0.5rem; display: inline-block; margin-bottom: 0.75rem; }
.skill-name { font-weight: 700; color: #fff; font-size: 0.95rem; margin-bottom: 0.4rem; }
.skill-desc { font-size: 0.82rem; color: rgba(255,255,255,0.5); line-height: 1.6; }

/* ── legal (terms.html + privacy.html) ── */
.legal-prose { max-width: 740px; color: rgba(255,255,255,0.65); font-size: 0.9rem; line-height: 1.85; }
.legal-prose h2 { font-size: 1.05rem; font-weight: 700; color: #fff; margin: 2rem 0 0.65rem; padding-bottom: 0.4rem; border-bottom: 1px solid rgba(255,255,255,0.07); }
.legal-prose h3 { font-size: 0.9rem; font-weight: 700; color: rgba(0,255,136,0.8); margin: 1.25rem 0 0.4rem; }
.legal-prose p { margin-bottom: 0.85rem; }
.legal-prose ul { padding-left: 1.25rem; margin-bottom: 0.85rem; }
.legal-prose li { margin-bottom: 0.35rem; }
.legal-prose a { color: rgba(0,255,136,0.9); }
.legal-prose code { font-family: var(--font-mono); font-size: 0.82rem; color: rgba(0,255,136,0.9); background: rgba(0,255,136,0.06); padding: 0.1rem 0.35rem; border-radius: 4px; }

/* ── shared code block ── */
.code-block { border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; overflow: hidden; margin: 1.5rem 0; }
.code-block pre { margin: 0; padding: 1.25rem; font-family: var(--font-mono); font-size: 0.82rem; line-height: 1.65; color: #b8f5d8; background: rgba(0,0,0,0.28); overflow-x: auto; }

/* ── consulting.html ── */
.cs-services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
@media (max-width: 900px) { .cs-services-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .cs-services-grid { grid-template-columns: 1fr; } }
.cs-service-card { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; padding: 1.75rem; }
.cs-service-icon { font-family: var(--font-mono); font-size: 1.5rem; margin-bottom: 0.75rem; display: block; }
.cs-service-title { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(0,255,136,0.8); margin-bottom: 0.5rem; }
.cs-service-desc { color: rgba(255,255,255,0.5); font-size: 0.88rem; line-height: 1.65; }
.cs-service-tag { display: inline-block; margin-top: 1rem; font-family: var(--font-mono); font-size: 0.65rem; color: rgba(255,255,255,0.3); border: 1px solid rgba(255,255,255,0.1); border-radius: 4px; padding: 0.2rem 0.45rem; }
.cs-engage-flow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; position: relative; max-width: 760px; margin: 0 auto; }
@media (max-width: 640px) { .cs-engage-flow { grid-template-columns: 1fr; } }
.cs-engage-step { text-align: center; padding: 0 1.5rem; }
.cs-engage-num { width: 4rem; height: 4rem; border-radius: 50%; border: 2px solid rgba(0,255,136,0.4); background: rgba(0,255,136,0.07); display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; font-family: var(--font-mono); font-size: 1.1rem; font-weight: 700; color: rgba(0,255,136,0.9); }
.cs-engage-label { font-weight: 700; font-size: 0.95rem; color: #fff; margin-bottom: 0.4rem; }
.cs-engage-sub { font-size: 0.8rem; color: rgba(255,255,255,0.5); line-height: 1.5; }
.cs-why-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (max-width: 640px) { .cs-why-grid { grid-template-columns: 1fr; } }
.cs-why-item { display: flex; gap: 1rem; align-items: flex-start; padding: 1.25rem; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; }
.cs-why-icon { font-family: var(--font-mono); font-size: 1.2rem; flex-shrink: 0; margin-top: 0.1rem; }
.cs-why-text strong { display: block; font-size: 0.9rem; color: #fff; margin-bottom: 0.25rem; }
.cs-why-text span { font-size: 0.82rem; color: rgba(255,255,255,0.5); line-height: 1.55; }

/* ── contact.html ── */
.contact-layout { display: grid; grid-template-columns: 1fr 1.6fr; gap: 3rem; align-items: start; }
@media (max-width: 700px) { .contact-layout { grid-template-columns: 1fr; gap: 2rem; } }
.contact-card { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; padding: 2rem; }
.contact-method { display: flex; align-items: flex-start; gap: 0.75rem; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
.contact-method:last-child { border-bottom: none; }
.contact-method-label { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(0,255,136,0.75); margin-bottom: 0.2rem; }
.contact-method-value { font-size: 0.875rem; color: #fff; }
.contact-method-value a { color: rgba(0,255,136,0.9); text-decoration: none; }
.form-field { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 1rem; }
.form-field label { font-size: 0.8rem; font-weight: 600; color: #fff; }
.form-field input, .form-field select, .form-field textarea { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 4px; color: #fff; font-family: inherit; font-size: 0.875rem; padding: 0.65rem 0.85rem; outline: none; transition: border-color 0.2s; width: 100%; box-sizing: border-box; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: rgba(0,255,136,0.4); }
.form-field select option { background: #0d1117; }
.form-field textarea { resize: vertical; }

/* ── enterprise.html ── */
.ent-caps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
@media (max-width: 900px) { .ent-caps-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ent-caps-grid { grid-template-columns: 1fr; } }
.ent-cap-card { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; padding: 1.5rem; }
.ent-cap-icon { font-size: 1.5rem; margin-bottom: 0.75rem; }
.ent-cap-title { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(0,255,136,0.8); margin-bottom: 0.4rem; }
.ent-cap-desc { font-size: 0.85rem; color: rgba(255,255,255,0.5); line-height: 1.65; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 4px; color: #fff; padding: 0.75rem 1rem; font-size: 0.9rem; font-family: inherit; transition: border-color 0.2s; outline: none; box-sizing: border-box; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: rgba(0,255,136,0.4); }
.contact-form select option { background: #0d1117; }
.contact-form textarea { resize: vertical; }

/* ── faq.html ── */
.faq-item { border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; overflow: hidden; margin-bottom: 0.5rem; }
.faq-q { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; cursor: pointer; font-size: 0.92rem; font-weight: 600; color: rgba(255,255,255,0.85); transition: color 0.15s; background: rgba(255,255,255,0.02); }
.faq-q:hover, .faq-item.open .faq-q { color: rgba(0,255,136,0.9); }
.faq-chevron { flex-shrink: 0; font-family: var(--font-mono); font-size: 1rem; color: rgba(0,255,136,0.6); transition: transform 0.2s; }
.faq-item.open .faq-chevron { transform: rotate(180deg); }
.faq-a { display: none; padding: 0 1.25rem 1.1rem; color: rgba(255,255,255,0.55); font-size: 0.9rem; line-height: 1.75; border-top: 1px solid rgba(255,255,255,0.06); }
.faq-item.open .faq-a { display: block; }
.faq-a code { font-family: var(--font-mono); font-size: 0.82rem; color: rgba(0,255,136,0.9); background: rgba(0,255,136,0.06); padding: 0.1rem 0.35rem; border-radius: 4px; }
.faq-a a { color: rgba(0,255,136,0.9); text-decoration: none; }

/* ── docs.html ── */
.docs-step-row { display: flex; gap: 1.5rem; align-items: flex-start; margin-bottom: 2.5rem; }
.docs-step-num { flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: rgba(0,255,136,0.1); border: 1px solid rgba(0,255,136,0.3); display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 0.9rem; font-weight: 700; color: rgba(0,255,136,0.9); margin-top: 2px; }
.docs-step-body h3 { font-size: 1.05rem; font-weight: 700; color: #fff; margin-bottom: 0.35rem; }
.docs-step-body p { color: rgba(255,255,255,0.55); font-size: 0.9rem; line-height: 1.7; margin: 0; }
.docs-step-body code { font-family: var(--font-mono); font-size: 0.82rem; color: rgba(0,255,136,0.9); background: rgba(0,255,136,0.06); padding: 0.1rem 0.35rem; border-radius: 4px; }
.docs-code-block { border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; overflow: hidden; margin-top: 1rem; }
.docs-code-tabs { display: flex; overflow-x: auto; background: rgba(0,0,0,0.3); border-bottom: 1px solid rgba(255,255,255,0.06); }
.docs-tab { padding: 0.55rem 1.1rem; background: none; border: none; border-right: 1px solid rgba(255,255,255,0.06); color: rgba(255,255,255,0.4); font-family: var(--font-mono); font-size: 0.8rem; cursor: pointer; white-space: nowrap; transition: color 0.15s; }
.docs-tab.active { color: rgba(0,255,136,0.9); }
.docs-tab-panel { display: none; }
.docs-tab-panel.active { display: block; }
.docs-pre { margin: 0; padding: 1.25rem; font-family: var(--font-mono); font-size: 0.82rem; line-height: 1.65; color: #b8f5d8; background: rgba(0,0,0,0.28); overflow-x: auto; }
.docs-endpoint-table { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
.docs-endpoint-table th { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.4); border-bottom: 1px solid rgba(255,255,255,0.08); padding: 0.6rem 0.75rem; text-align: left; }
.docs-endpoint-table td { padding: 0.55rem 0.75rem; border-bottom: 1px solid rgba(255,255,255,0.04); vertical-align: top; line-height: 1.5; }
.method-get { color: rgba(0,255,136,0.9); background: rgba(0,255,136,0.1); font-family: var(--font-mono); font-size: 0.72rem; font-weight: 700; padding: 0.15rem 0.45rem; border-radius: 4px; }
.method-post { color: #ffd700; background: rgba(255,215,0,0.1); font-family: var(--font-mono); font-size: 0.72rem; font-weight: 700; padding: 0.15rem 0.45rem; border-radius: 4px; }
.ep-path { font-family: var(--font-mono); font-size: 0.8rem; color: #b8f5d8; }

/* ── mcp.html ── */
.mcp-provider-tabs { display: flex; gap: 0; overflow-x: auto; background: rgba(0,0,0,0.3); border-bottom: 1px solid rgba(255,255,255,0.06); }
.mcp-tab { padding: 0.6rem 1.25rem; background: none; border: none; border-right: 1px solid rgba(255,255,255,0.06); color: rgba(255,255,255,0.4); font-family: var(--font-mono); font-size: 0.82rem; cursor: pointer; white-space: nowrap; transition: color 0.15s; }
.mcp-tab.active { color: rgba(0,255,136,0.9); }
.mcp-tab-panel { display: none; }
.mcp-tab-panel.active { display: block; }
.code-wrap { position: relative; border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; overflow: hidden; margin-bottom: 1rem; }
.code-wrap-header { display: flex; align-items: center; justify-content: space-between; padding: 0.55rem 1rem; background: rgba(0,0,0,0.35); border-bottom: 1px solid rgba(255,255,255,0.05); }
.code-wrap-label { font-family: var(--font-mono); font-size: 0.7rem; color: rgba(255,255,255,0.3); }
.code-wrap pre { margin: 0; padding: 1.1rem 1.25rem; overflow-x: auto; font-family: var(--font-mono); font-size: 0.82rem; line-height: 1.65; color: #b8f5d8; background: rgba(0,0,0,0.28); }
.copy-btn { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.3rem 0.75rem; font-family: var(--font-mono); font-size: 0.72rem; font-weight: 600; color: rgba(255,255,255,0.5); background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 4px; cursor: pointer; transition: all 0.15s; }
.copy-btn:hover, .copy-btn.copied { color: rgba(0,255,136,0.9); border-color: rgba(0,255,136,0.3); background: rgba(0,255,136,0.07); }
.step-pill { display: inline-block; background: rgba(0,255,136,0.1); border: 1px solid rgba(0,255,136,0.25); color: rgba(0,255,136,0.9); font-family: var(--font-mono); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 0.2rem 0.6rem; border-radius: 4px; margin-bottom: 0.6rem; }
.client-compat { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.client-tag { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.3rem 0.75rem; border-radius: 20px; font-size: 0.75rem; font-weight: 600; background: rgba(0,255,136,0.1); border: 1px solid rgba(0,255,136,0.25); color: rgba(0,255,136,0.9); }
.tool-card { background: rgba(0,0,0,0.25); border: 1px solid rgba(0,255,136,0.14); border-radius: 4px; padding: 1.25rem 1.4rem; }
.tool-name { font-family: var(--font-mono); font-size: 0.95rem; font-weight: 700; color: rgba(0,255,136,0.9); margin-bottom: 0.4rem; }
.tool-badge { display: inline-block; font-family: var(--font-mono); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.15rem 0.55rem; border-radius: 4px; margin-bottom: 0.75rem; }
.tool-badge-auth { color: rgba(0,255,136,0.9); background: rgba(0,255,136,0.1); border: 1px solid rgba(0,255,136,0.2); }
.tool-badge-pub { color: #00d4ff; background: rgba(0,212,255,0.08); border: 1px solid rgba(0,212,255,0.18); }

/* ── pricing.html ── */
.wg-plan { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 4px; padding: 2rem; display: flex; flex-direction: column; gap: 0.75rem; transition: border-color 0.2s, transform 0.2s; position: relative; }
.wg-plan:hover { border-color: rgba(0,255,136,0.3); transform: translateY(-2px); }
.wg-plan.type-2 { border-color: rgba(0,255,136,0.4); background: rgba(0,255,136,0.04); }
.plan-header { display: flex; flex-direction: column; gap: 0.25rem; }
.plan_price { display: flex; align-items: baseline; gap: 0.25rem; }
.price-amount { font-size: 2.8rem; font-weight: 900; color: #fff; line-height: 1; font-family: var(--font-mono); }
.price-per { font-size: 0.875rem; color: rgba(255,255,255,0.4); }
.plan-name { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(0,255,136,0.8); margin-bottom: 0.25rem; }
.plan-badge-pill { display: inline-block; background: rgba(0,255,136,1); color: #000; font-family: var(--font-mono); font-size: 0.65rem; font-weight: 700; padding: 0.15rem 0.65rem; border-radius: 99px; margin-bottom: 0.5rem; }
.plan-limit { font-family: var(--font-mono); font-size: 0.82rem; color: rgba(0,255,136,0.7); }
.plan-feature { font-size: 0.85rem; color: rgba(255,255,255,0.6); display: flex; gap: 0.6rem; align-items: flex-start; }
.plan-feature::before { content: '✓'; color: rgba(0,255,136,0.9); flex-shrink: 0; }
.features_list { display: flex; flex-direction: column; gap: 0.4rem; flex: 1; }
.plan-cta { margin-top: auto; }
.plan-grid-4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 1.25rem; }
.enterprise-band { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; padding: 2rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; margin-top: 1.25rem; }
.support-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); gap: 1.5rem; }
.support-card { background: rgba(0,255,136,0.03); border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; padding: 1.75rem; }
.support-card--muted { background: rgba(255,255,255,0.02); border-color: rgba(255,255,255,0.07); }
@media (max-width: 768px) { .plan-grid-4 { grid-template-columns: 1fr; } .enterprise-band { flex-direction: column; align-items: flex-start; } }

/* ── Layout utilities (replaces inline styles) ── */
.sect-mb-sm { margin-bottom: 1.5rem; }
.sect-mb-md { margin-bottom: 2rem; }
.sect-mb-lg { margin-bottom: 2.5rem; }
.sect-mb-xl { margin-bottom: 3rem; }
.sect-mt-lg { margin-top: 3rem; }
.sect-mt-md { margin-top: 2rem; }
.sect-max-w-sm { max-width: 480px; }
.sect-max-w-md { max-width: 620px; }
.sect-max-w-lg { max-width: 740px; }
.sect-text-center { text-align: center; }

/* CTA section blocks */
.sect-cta-block { text-align: center; padding: 3rem 0; }
.sect-cta-block h2 { font-size: clamp(1.8rem, 4vw, 2.5rem); color: #fff; margin-bottom: 1rem; }
.sect-cta-block p { color: rgba(255,255,255,0.85); margin-bottom: 2rem; line-height: 1.7; max-width: 520px; margin-left: auto; margin-right: auto; }
.sect-cta-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }

/* Grid cards */
.auto-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }
.auto-grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }
.auto-grid-4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }

/* Metric/stat card */
.stat-card-green { text-align: center; padding: 1.5rem; background: rgba(0,255,136,0.04); border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; }
.stat-card-muted { text-align: center; padding: 1.5rem; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; }
.stat-card-val { font-family: var(--font-mono); font-size: 1.4rem; font-weight: 900; color: rgba(0,255,136,0.9); }
.stat-card-label { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(0,255,136,0.8); margin-bottom: 0.4rem; }
.stat-card-desc { font-size: 0.82rem; color: rgba(255,255,255,0.5); }

/* Simple bordered box */
.box-lined { border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; overflow: hidden; }
.box-lined-green { border: 1px solid rgba(0,255,136,0.18); border-radius: 4px; overflow: hidden; }

/* Inline code token */
code.mono { font-family: var(--font-mono); color: rgba(0,255,136,0.9); font-size: 0.78rem; }

/* ── Protocol/MCP tool grid items ── */
.tool-item-card { padding: 1rem; background: rgba(0,0,0,0.25); border: 1px solid rgba(0,255,136,0.12); border-radius: 4px; }
.tool-item-name { font-family: var(--font-mono); font-size: 0.72rem; font-weight: 700; color: rgba(0,255,136,0.9); margin-bottom: 0.25rem; }
.tool-item-desc { font-size: 0.78rem; color: rgba(255,255,255,0.45); }

/* HTTP status table cells */
.status-table { border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; overflow: hidden; max-width: 720px; }
.status-table-grid { display: grid; grid-template-columns: 80px 1fr; font-family: var(--font-mono); font-size: 0.72rem; }
.status-table-hdr { padding: 0.5rem 1rem; background: rgba(255,255,255,0.03); color: rgba(255,255,255,0.3); border-bottom: 1px solid rgba(255,255,255,0.06); }
.status-table-hdr.border-l { border-left: 1px solid rgba(255,255,255,0.06); }
.status-cell { padding: 0.75rem 1rem; border-bottom: 1px solid rgba(255,255,255,0.05); }
.status-cell.border-l { border-left: 1px solid rgba(255,255,255,0.04); color: rgba(255,255,255,0.55); }
.status-cell.s200 { color: rgba(0,255,136,0.9); }
.status-cell.s4xx { color: rgba(255,200,80,0.9); }
.status-cell.s401 { color: rgba(255,150,80,0.9); }
.status-cell.s403 { color: rgba(255,150,80,0.9); }
.status-cell.s429 { color: rgba(255,100,80,0.9); }
.status-cell.s500 { color: rgba(255,80,80,0.9); }
.status-cell.last { border-bottom: none; }

/* Flex utilities */
.d-flex-gap-1 { display: flex; gap: 1rem; flex-wrap: wrap; }
.d-grid-auto-220 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0.75rem; }
.mt-md { margin-top: 2rem; }

/* ── MCP step card inner padding ── */
.mcp-step-body { padding: 1.25rem 1.5rem; }
.mcp-step-desc { font-size: 0.875rem; color: rgba(255,255,255,0.55); margin: 0 0 1rem; }
.mcp-step-desc-last { font-size: 0.875rem; color: rgba(255,255,255,0.55); margin: 0; }
.mcp-warn { background: rgba(255,215,0,0.07); border: 1px solid rgba(255,215,0,0.2); border-radius: 4px; padding: 0.85rem 1.1rem; margin-bottom: 1.25rem; font-size: 0.83rem; color: #c8a820; line-height: 1.6; }
.mcp-tool-desc { font-size: 0.85rem; color: rgba(255,255,255,0.5); line-height: 1.6; }
.mcp-tool-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; }
.mcp-frame { border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; overflow: hidden; }

/* ── Pricing page ── */
.price-currency-sup { font-size: 1.2rem; color: rgba(0,255,136,0.8); align-self: flex-start; margin-top: 0.6rem; }
.pricing-error-msg { color: #ff8c5a; font-family: var(--font-mono); font-size: 0.875rem; margin: 0 0 0.5rem; }
.pric-enterprise-amount { font-size: 2rem; }
.pric-enterprise-desc { color: rgba(255,255,255,0.5); font-size: 0.875rem; margin-top: 0.5rem; max-width: 480px; }
.pric-special-icon { font-size: 1.5rem; margin-bottom: 0.75rem; }
.pric-special-desc { font-size: 0.83rem; color: rgba(255,255,255,0.5); line-height: 1.65; margin-bottom: 1.25rem; }
.pric-plan-name-mb { margin-bottom: 0.5rem; }
.pric-plan-limit-mb { margin-bottom: 1rem; }
.pric-cta-center { text-align: center; max-width: 520px; margin: 0 auto; padding: 3rem 0; }
.pric-cta-title { font-size: clamp(1.8rem,4vw,2.8rem); font-weight: 900; color: #fff; margin-bottom: 1rem; }
.pric-cta-sub { color: rgba(255,255,255,0.5); margin-bottom: 2rem; line-height: 1.7; }

/* ── Trial modal CSS (standalone element, not inline) ── */
.trial-modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.7); z-index: 1000; align-items: center; justify-content: center; padding: 1rem; }
.trial-modal-box { background: var(--bg-card); border: 1px solid var(--border); border-radius: 4px; padding: 2rem; width: 100%; max-width: 440px; position: relative; }
.trial-modal-close-btn { position: absolute; top: 1rem; right: 1rem; background: none; border: none; color: rgba(255,255,255,0.5); font-size: 1.25rem; cursor: pointer; line-height: 1; }
.trial-modal-sub-name { margin-bottom: 0.5rem; }
.trial-modal-title { font-size: 1.4rem; font-weight: 900; color: #fff; margin-bottom: 0.25rem; }
.trial-modal-desc { font-size: 0.875rem; color: rgba(255,255,255,0.5); margin-bottom: 1.5rem; }
.trial-modal-field { margin-bottom: 1rem; }
.trial-modal-label { display: block; font-size: 0.8rem; font-weight: 600; color: #fff; margin-bottom: 0.4rem; }
.trial-modal-required { color: #ff6b35; }
.trial-modal-input { width: 100%; padding: 0.65rem 0.85rem; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 4px; color: #fff; font-family: var(--font-mono); font-size: 0.875rem; outline: none; box-sizing: border-box; }

/* ── Inline strong accent ── */
a.link-accent { color: rgba(0,255,136,0.9); }
strong.text-white { color: #fff; }

/* ── CTA block variants ── */
.cta-center-block { text-align: center; max-width: 500px; margin-left: auto; margin-right: auto; }
.cta-h2 { font-size: clamp(1.8rem,4vw,2.5rem); color: #fff; margin-bottom: 1rem; }
.cta-sub { color: rgba(255,255,255,0.5); margin-bottom: 2rem; line-height: 1.7; }

/* ── Error banners (display:none by default, shown by JS) ── */
.error-banner { display: none; margin-bottom: 2rem; padding: 1rem 1.5rem; background: rgba(255,107,53,0.08); border: 1px solid rgba(255,107,53,0.3); border-radius: 4px; text-align: center; }
.error-inline { display: none; margin-bottom: 1rem; padding: 0.65rem 0.85rem; background: rgba(255,107,53,0.08); border: 1px solid rgba(255,107,53,0.3); border-radius: 4px; font-size: 0.82rem; color: #ff8c5a; }
.trial-modal-input-name { width: 100%; padding: 0.65rem 0.85rem; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 4px; color: #fff; font-family: inherit; font-size: 0.875rem; outline: none; box-sizing: border-box; }
.text-optional { font-size: 0.75rem; color: rgba(255,255,255,0.4); }
.plan-limit-muted { color: rgba(255,255,255,0.4); }

/* ── Docs endpoint table auth badges ── */
.ep-auth-key { color: rgba(0,255,136,0.7); font-family: var(--font-mono); font-size: 0.72rem; }
.ep-auth-pub { color: rgba(255,255,255,0.3); font-family: var(--font-mono); font-size: 0.72rem; }
.ep-desc { color: rgba(255,255,255,0.55); }

/* ── Docs base URL block ── */
.base-url-block { padding: 1.25rem 1.5rem; background: rgba(0,255,136,0.03); border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; }
.base-url-label { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.2em; color: rgba(0,255,136,0.8); margin-bottom: 0.5rem; }
.base-url-code { font-family: var(--font-mono); font-size: 0.9rem; color: #b8f5d8; }
.base-url-note { margin-top: 0.75rem; font-size: 0.82rem; color: rgba(255,255,255,0.5); }
.endpoint-table-wrap { border: 1px solid rgba(255,255,255,0.08); border-radius: 4px; overflow: hidden; }

/* ── Framework domain grid items ── */
.domain-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0.75rem; max-width: 820px; }
.domain-card { padding: 1rem; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; }
.domain-card-accent { padding: 1rem; background: rgba(0,255,136,0.04); border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; }
.domain-label { font-family: var(--font-mono); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em; color: rgba(0,255,136,0.7); margin-bottom: 0.35rem; }
.domain-label-accent { font-family: var(--font-mono); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em; color: rgba(0,255,136,0.8); margin-bottom: 0.35rem; }
.domain-ops { font-size: 0.78rem; color: rgba(255,255,255,0.5); }

/* ── Shared card/stat patterns across agent4, consulting, vision ── */
.stat-card-center { text-align: center; padding: 1.5rem; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; }
.stat-card-center-accent { text-align: center; padding: 1.5rem; background: rgba(0,255,136,0.04); border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; }
.card-label-mono { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(0,255,136,0.8); margin-bottom: 0.4rem; }
.card-label-muted { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255,255,255,0.4); margin-bottom: 0.4rem; }
.card-label-mono-mb { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(0,255,136,0.8); margin-bottom: 1rem; }
.card-desc-sm { font-size: 0.82rem; color: rgba(255,255,255,0.5); }
.card-desc-xs { font-size: 0.78rem; color: rgba(255,255,255,0.4); }
.card-desc-med { font-size: 0.85rem; color: rgba(255,255,255,0.6); line-height: 1.5; }
.card-desc-faded { font-size: 0.85rem; color: rgba(255,255,255,0.5); }
.card-mb-sm { margin-bottom: 0.5rem; }
.card-mb-md { margin-bottom: 0.75rem; }
.card-mb-lg { margin-bottom: 1rem; }
.d-grid-auto-240 { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }
.d-grid-auto-200 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0.75rem; }
.d-grid-auto-200-gap-1 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }
.d-grid-4col { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.sect-mt-lg { margin-top: 3rem; }
.sect-mb-3xl { margin-bottom: 3rem; }
.sect-mb-3xl-center { margin-bottom: 3rem; text-align: center; }
.sect-mb-3xl-mw { margin-bottom: 3rem; max-width: 720px; }
.contact-cta-outer { text-align: center; padding: 3rem 0; max-width: 560px; margin: 0 auto; }
.vision-cta-outer { text-align: center; padding: 3rem 0; max-width: 600px; margin: 0 auto; }
.cta-sub-nomax { color: rgba(255,255,255,0.5); margin-bottom: 2rem; line-height: 1.7; }

/* ── Investor page ── */
.inv-table-wrap { border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; overflow: hidden; max-width: 640px; }
.inv-row-right { text-align: right; }
.inv-row-left { text-align: left; margin-top: 0.1rem; }
.inv-row-muted { background: rgba(255,255,255,0.02); border-color: rgba(255,255,255,0.07); }
.inv-footnote { margin-top: 1.5rem; font-family: var(--font-mono); font-size: 0.72rem; color: rgba(255,255,255,0.3); }
.d-grid-auto-200-mb { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin-bottom: 3rem; }
.inv-card-bg { background: rgba(255,255,255,0.02); }

/* ── Contact form response cards ── */
.resp-card-normal { margin-top: 1rem; padding: 1.25rem 1.5rem; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06); border-radius: 4px; }
.resp-card-accent { margin-top: 1rem; padding: 1.25rem 1.5rem; background: rgba(0,255,136,0.03); border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; }
.resp-card-title-lg { font-size: 1.15rem; font-weight: 700; color: #fff; margin-bottom: 0.4rem; }
.resp-card-title-sm { font-size: 0.8rem; font-weight: 700; color: #fff; margin-bottom: 0.4rem; }
.resp-card-desc { font-size: 0.8rem; color: rgba(255,255,255,0.5); line-height: 1.7; }
.resp-card-mb { margin-bottom: 1rem; }
.resp-card-mb-sm { margin-bottom: 0.75rem; }
.icon-lg { font-size: 1.1rem; }
.text-green { color: rgba(0,255,136,0.9); }
.text-orange { color: #ff6b35; }

/* ── vision page ── */
.vision-para-large { font-size: 1.05rem; line-height: 1.8; }
.vision-mono-sm { font-family: var(--font-mono); font-size: 0.75rem; color: rgba(0,255,136,0.7); margin-bottom: 2rem; }
.vision-mw { margin-bottom: 3rem; max-width: 720px; }

/* ── Investor accent row / contact inline msg ── */
.inv-revenue-row-accent { background: rgba(0,255,136,0.04); }
.contact-company-name { font-size: 0.82rem; color: #fff; font-weight: 600; margin-bottom: 0.35rem; }

/* vision 3-col grid */
.d-grid-3col-mw { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; max-width: 700px; margin-bottom: 2rem; }
.d-flex-col-gap { display: flex; flex-direction: column; gap: 0.75rem; max-width: 740px; }
.sect-title-mw-mb { margin-bottom: 3rem; max-width: 720px; }
.vision-cta-sub { color: rgba(255,255,255,0.5); margin-bottom: 1rem; line-height: 1.8; font-size: 0.95rem; }

/* ── Buildathon / math / paradigm ── */
.mono-num-white { font-family: var(--font-mono); font-size: 1.4rem; font-weight: 900; color: #fff; }
.mono-num-accent { font-family: var(--font-mono); font-size: 1.4rem; font-weight: 900; color: rgba(0,255,136,0.9); }
.card-tag-xs { font-size: 0.72rem; color: rgba(255,255,255,0.4); }
.card-bg-subtle { background: rgba(255,255,255,0.02); border-color: rgba(255,255,255,0.1); }
.d-grid-3col-mw-600 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; max-width: 600px; margin-bottom: 3rem; }

/* math page */
.math-eq-footnote { font-family: var(--font-mono); font-size: 0.72rem; color: rgba(255,255,255,0.3); margin-bottom: 2rem; }
.math-eq-desc { font-size: 0.8rem; color: rgba(255,255,255,0.45); }
.math-cta-sub { color: rgba(255,255,255,0.5); margin-bottom: 1rem; line-height: 1.7; max-width: 500px; margin-left: auto; margin-right: auto; }
.text-green-sm { color: rgba(0,255,136,0.9); }

/* paradigm page */
.paradigm-card-bg { background: rgba(255,255,255,0.02); border-color: rgba(255,255,255,0.08); }
.paradigm-mw-mb { margin-bottom: 2.5rem; max-width: 720px; }
.paradigm-body-large { font-size: 1rem; line-height: 1.8; }
.paradigm-text-red { color: rgba(255,80,80,0.7); }
.paradigm-text-green { color: rgba(0,255,136,0.7); }
.d-grid-auto-220-gap-lg { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.25rem; }

/* security page */
.security-card { padding: 1.25rem 1.5rem; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; }
.security-label-sm { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(0,255,136,0.75); margin-bottom: 0.75rem; }
.security-list { margin: 0; padding-left: 1.25rem; color: rgba(255,255,255,0.55); font-size: 0.875rem; line-height: 1.75; }
.text-link-accent { color: rgba(0,255,136,0.9); }

/* paradigm table max-width variant */
.status-table-xl { border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; overflow: hidden; max-width: 820px; }

/* ── Enterprise capability cards ── */
.ent-cap-card { padding: 1.5rem; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; }
.d-grid-auto-260 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.ent-form-wrap { max-width: 600px; }
.ent-form { display: flex; flex-direction: column; gap: 0; }
.ent-msg { display: none; padding: 0.65rem; border-radius: 4px; font-size: 0.82rem; margin-bottom: 0.75rem; }

/* ── Research page ── */
.paper-card-wip { border-color: rgba(255,255,255,0.05); opacity: 0.7; }
.paper-type-wip { color: rgba(255,255,255,0.3); }
.cite-block { background: rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.08); border-radius: 4px; padding: 1.25rem; font-family: var(--font-mono); font-size: 0.8rem; color: #b8f5d8; line-height: 1.65; margin-bottom: 2rem; overflow-x: auto; }
.research-cite-note { font-size: 0.875rem; color: rgba(255,255,255,0.5); margin-bottom: 2rem; line-height: 1.7; }

/* ── 404 page ── */
.err-outer { text-align: center; padding: 5rem 0; }
.err-numeral { font-family: var(--font-mono); font-size: clamp(5rem,18vw,10rem); font-weight: 900; color: rgba(0,255,136,0.15); line-height: 0.9; letter-spacing: -0.05em; margin-bottom: 1.5rem; }
.err-h1 { font-size: clamp(1.5rem,4vw,2.5rem); color: #fff; margin-bottom: 1rem; }
.err-desc { color: rgba(255,255,255,0.5); font-size: 0.95rem; max-width: 460px; margin: 0 auto 0.75rem; line-height: 1.7; }
.err-mono { font-family: var(--font-mono); font-size: 0.75rem; color: rgba(255,255,255,0.25); margin-bottom: 2.5rem; }

/* ── physics-demo page ── */
.demo-footnote { font-family: var(--font-mono); font-size: 0.72rem; color: rgba(255,255,255,0.25); text-align: center; }

/* ── legal (terms/privacy) footnote ── */
.legal-meta { font-family: var(--font-mono); font-size: 0.72rem; color: rgba(255,255,255,0.3); margin-bottom: 1.5rem; }

/* ── Framework page: multi-language code tabs ── */
.fw-code-tabs-wrap { border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; overflow: hidden; margin-bottom: 1.5rem; }
.fw-lang-tabs { display: flex; overflow-x: auto; background: rgba(0,0,0,0.3); border-bottom: 1px solid rgba(255,255,255,0.06); }
.fw-lang-tab { padding: 0.6rem 1.1rem; background: none; border: none; border-right: 1px solid rgba(255,255,255,0.06); color: rgba(255,255,255,0.4); font-family: var(--font-mono); font-size: 0.8rem; cursor: pointer; white-space: nowrap; transition: color 0.15s; }
.fw-lang-tab:last-child { border-right: none; }
.fw-lang-tab:hover { color: rgba(255,255,255,0.75); }
.fw-lang-tab.active { color: var(--accent); }
.fw-lang-panel { display: none; }
.fw-lang-panel.active { display: block; }
.fw-code-pre { margin: 0; padding: 1.25rem; overflow-x: auto; font-family: var(--font-mono); font-size: 0.82rem; line-height: 1.65; color: #b8f5d8; background: transparent; white-space: pre; }
.fw-ai-note { border: 1px solid rgba(0,255,136,0.2); border-radius: 4px; padding: 1.1rem 1.4rem; background: rgba(0,255,136,0.03); display: flex; align-items: flex-start; gap: 1rem; margin-top: 1.5rem; }
.fw-ai-icon { font-size: 1.2rem; flex-shrink: 0; margin-top: 2px; }
.fw-ai-title { font-family: var(--font-mono); font-size: 0.8rem; font-weight: 700; color: var(--accent); margin-bottom: 0.3rem; }
.fw-ai-body { font-size: 0.85rem; color: rgba(255,255,255,0.55); margin: 0; line-height: 1.6; }

/* ── Security page: HITE pipeline ── */
.hite-pipeline { display: flex; align-items: stretch; gap: 0; overflow-x: auto; padding: 0.25rem 0 0.5rem; margin-bottom: 2rem; }
.hite-step { flex: 1; min-width: 140px; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.08); border-radius: 0; padding: 1.25rem 1rem; text-align: center; }
.hite-step:first-child { border-radius: 4px 0 0 4px; }
.hite-step:last-child { border-radius: 0 4px 4px 0; }
.hite-step + .hite-step { border-left: none; }
.hite-step-out { border-color: rgba(0,255,136,0.3); background: rgba(0,255,136,0.03); }
.hite-step-num { font-family: var(--font-mono); font-size: 0.65rem; font-weight: 700; color: var(--accent); letter-spacing: 0.15em; text-transform: uppercase; opacity: 0.7; margin-bottom: 0.35rem; }
.hite-step-label { font-family: var(--font-mono); font-size: 0.78rem; font-weight: 700; color: #fff; line-height: 1.3; margin-bottom: 0.35rem; }
.hite-step-out .hite-step-label { color: var(--accent); }
.hite-step-desc { font-size: 0.75rem; color: rgba(255,255,255,0.45); line-height: 1.5; }
.hite-arrow { width: 24px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: var(--accent); font-size: 0.9rem; opacity: 0.5; }
.sec-attack-banner { background: rgba(0,255,136,0.06); border: 1px solid rgba(0,255,136,0.3); border-radius: 4px; padding: 2.5rem 2rem; text-align: center; margin-bottom: 2rem; }
.sec-attack-value { font-family: var(--font-mono); font-size: clamp(2.5rem, 7vw, 4.5rem); font-weight: 900; color: #00ff88; line-height: 1; letter-spacing: -0.03em; margin-bottom: 0.5rem; }
.sec-attack-label { font-size: 1rem; color: rgba(255,255,255,0.6); margin-bottom: 0.5rem; }
.sec-attack-sub { font-family: var(--font-mono); font-size: 0.8rem; color: rgba(255,255,255,0.35); }

/* ── Security page: Four pillars grid ── */
.sec-pillar-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.25rem; margin-bottom: 2rem; }
.sec-pillar-card { background: rgba(255,255,255,0.02); border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; padding: 1.5rem 1.75rem; transition: border-color 0.2s; }
.sec-pillar-card:hover { border-color: rgba(0,255,136,0.3); }
.sec-pillar-icon { font-size: 1.75rem; margin-bottom: 0.75rem; line-height: 1; }
.sec-pillar-title { font-family: var(--font-mono); font-size: 0.85rem; font-weight: 700; color: #fff; letter-spacing: 0.04em; margin-bottom: 0.5rem; }
.sec-pillar-body { font-size: 0.875rem; color: rgba(255,255,255,0.55); line-height: 1.7; }

/* ── Math page: kinematic spectrum operator tables ── */
.math-ko-group-wrap { margin-bottom: 2rem; border: 1px solid rgba(255,255,255,0.06); border-radius: 4px; overflow: hidden; }
.math-ko-group-hd { padding: 0.75rem 1.25rem; background: rgba(255,255,255,0.03); border-bottom: 1px solid rgba(255,255,255,0.06); }
.math-ko-group-tag { font-family: var(--font-mono); font-size: 0.85rem; font-weight: 700; letter-spacing: 0.04em; }
.math-ko-count-badge { font-size: 0.75rem; font-weight: 400; opacity: 0.6; }
.math-ko-eq { font-family: var(--font-mono); font-size: 0.78rem; color: rgba(255,255,255,0.75); white-space: nowrap; }
.math-spectrum-cta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: 1rem 0; }
.math-spectrum-note { font-family: var(--font-mono); font-size: 0.75rem; color: rgba(255,255,255,0.35); }

/* ── Compare page: wins banner & differentiators ── */
.cp-wins-banner { background: rgba(0,255,136,0.04); border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; padding: 1.5rem 1.75rem; margin-top: 2rem; margin-bottom: 1.5rem; }
.cp-wins-title { font-family: var(--font-mono); font-size: 0.85rem; font-weight: 700; color: var(--accent); letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 1rem; }
.cp-wins-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0.5rem 1rem; }
.cp-win-item { font-size: 0.8rem; color: rgba(255,255,255,0.65); display: flex; align-items: center; gap: 0.4rem; }
.cp-win-check { color: var(--accent); font-weight: 700; }
.cp-diff-wrap { margin-bottom: 2rem; }
.cp-diff-label { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 700; color: rgba(255,255,255,0.35); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 1rem; padding-top: 0.5rem; border-top: 1px solid rgba(255,255,255,0.06); }
.cp-diff-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.cp-diff-card { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; padding: 1.25rem 1.5rem; }
.cp-diff-title { font-family: var(--font-mono); font-size: 0.85rem; font-weight: 700; color: #fff; margin-bottom: 0.5rem; }
.cp-diff-body { font-size: 0.83rem; color: rgba(255,255,255,0.5); line-height: 1.65; margin: 0; }

/* ── Paradigm page ── */
.pdm-hero-pulse { display: flex; align-items: center; gap: 0.75rem; margin-top: 1.5rem; padding: 0.75rem 1.25rem; border: 1px solid rgba(0,255,136,0.2); border-radius: 4px; width: fit-content; }
.pdm-pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); animation: pulse 1.287s ease-in-out infinite; }
.pdm-iso-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-bottom: 2rem; }
@media (max-width: 768px) { .pdm-iso-grid { grid-template-columns: 1fr; } }
.pdm-eq-block { background: rgba(0,255,136,0.04); border: 1px solid rgba(0,255,136,0.15); border-radius: 4px; padding: 1.5rem; }
.pdm-eq-label { font-family: var(--font-mono); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--accent); margin-bottom: 0.75rem; opacity: 0.7; }
.pdm-formula { font-family: var(--font-mono); font-size: clamp(0.9rem,2.5vw,1.15rem); color: var(--accent); margin-bottom: 1rem; line-height: 1.4; }
.pdm-formula-sub { font-family: var(--font-mono); font-size: 0.72rem; color: rgba(255,255,255,0.4); line-height: 1.8; }
.pdm-body { font-size: 0.95rem; color: rgba(255,255,255,0.65); line-height: 1.75; margin-bottom: 1rem; }
.pdm-pullquote { border-left: 2px solid var(--accent); padding: 0.75rem 1.5rem; margin: 2rem 0; font-style: italic; font-size: 1.05rem; color: rgba(255,255,255,0.75); max-width: 680px; }
.pdm-op-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; margin-top: 2rem; }
.pdm-op-card { background: rgba(255,255,255,0.02); border: 1px solid rgba(0,255,136,0.12); border-radius: 4px; padding: 1.5rem; }
.pdm-op-code { font-size: 0.7rem; font-weight: 700; color: var(--accent); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 0.4rem; opacity: 0.7; }
.pdm-op-name { font-size: 0.95rem; font-weight: 700; color: #fff; margin-bottom: 0.5rem; }
.pdm-op-eq { font-size: 0.85rem; color: var(--accent); margin-bottom: 0.75rem; }
.pdm-op-what { font-size: 0.82rem; color: rgba(255,255,255,0.55); line-height: 1.65; margin-bottom: 0.75rem; }
.pdm-op-domain { font-size: 0.7rem; color: rgba(255,255,255,0.3); letter-spacing: 0.12em; text-transform: uppercase; }
.pdm-pillars { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; margin-bottom: 3rem; }
.pdm-pillar { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 4px; padding: 1.75rem; }
.pdm-pillar-num { font-size: 0.7rem; font-weight: 700; color: var(--accent); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 0.5rem; opacity: 0.7; }
.pdm-pillar-name { font-size: 1.1rem; font-weight: 700; color: #fff; margin-bottom: 0.75rem; }
.pdm-pillar-body { font-size: 0.875rem; color: rgba(255,255,255,0.6); line-height: 1.7; margin-bottom: 1rem; }
.pdm-pillar-example { background: rgba(0,255,136,0.03); border: 1px solid rgba(0,255,136,0.1); border-radius: 4px; padding: 1rem; }
.pdm-ex-label { font-family: var(--font-mono); font-size: 0.65rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--accent); margin-bottom: 0.5rem; opacity: 0.7; }
.pdm-ex-body { font-size: 0.82rem; color: rgba(255,255,255,0.5); line-height: 1.6; }
.pdm-implications-wrap { margin-bottom: 2rem; }
.pdm-impl-label { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 700; color: rgba(255,255,255,0.35); letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 1.25rem; padding-top: 0.5rem; border-top: 1px solid rgba(255,255,255,0.06); }
.pdm-impl-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.pdm-impl-card { background: rgba(255,255,255,0.015); border: 1px solid rgba(255,255,255,0.06); border-radius: 4px; padding: 1.25rem 1.5rem; }
.pdm-impl-num { font-size: 0.65rem; font-weight: 700; color: var(--accent); letter-spacing: 0.2em; margin-bottom: 0.4rem; opacity: 0.7; }
.pdm-impl-title { font-size: 0.9rem; font-weight: 700; color: #fff; margin-bottom: 0.5rem; }
.pdm-impl-body { font-size: 0.8rem; color: rgba(255,255,255,0.5); line-height: 1.65; }
.pdm-closing { margin-bottom: 2.5rem; }

/* ═══════════════════════════════════════════════
   QORE INTEGRATION FIXES — ZEQ HOMEPAGE
═══════════════════════════════════════════════ */

/* s-title gradient text — explicit gradient here so this file is self-contained;
   Qore vendor also provides this gradient but we duplicate it for resilience.
   More specific rules (.section-hero, .has-hafl_plus h4) override via !important. */
.s-title {
  background: linear-gradient(180deg, #F4F7F5 0%, rgba(244, 247, 245, 0.82) 100%);
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* Qore features_list — CSS check icons (no img required) */
.wg-plan .features_list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  color: var(--text-main);
  font-size: 0.88rem;
  line-height: 1.5;
  padding: 0.3rem 0;
}
.wg-plan .features_list li::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin-top: 1px;
  background-image: url('/qore/icon/check.svg');
  background-repeat: no-repeat;
  background-size: contain;
}
.wg-plan .features_list li .icon {
  display: none;
}

/* Qore plan header text colours — ensure visibility on dark */
.wg-plan .plan_type {
  color: var(--text-main) !important;
}
.wg-plan .plan-description {
  color: var(--text-main) !important;
}
.wg-plan .price-duration {
  color: var(--text-main) !important;
}
.wg-plan .plan-feature .feature_title {
  color: #fff !important;
}

/* Keep s-title left-aligned inside cards ONLY — do not affect section headings */
.has-hafl_plus .s-title {
  text-align: left !important;
}

/* Ensure all Qore section headings are readable white gradient */
h1.s-title, h2.s-title, h3.s-title, h4.s-title {
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Section hero - h1 bigger for impact */
.section-hero .s-title {
  background: linear-gradient(180deg, #FFFFFF 0%, rgba(255,255,255,0.88) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Make small s-title inside cards a more compact gradient — no font-size override so
   each card's inline style controls its own size (e.g. architecture uses 1.15rem) */
.has-hafl_plus h4.s-title {
  background: linear-gradient(180deg, #F4F7F5 0%, rgba(244,247,245,0.75) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* s-sub_title consistent opacity — left-aligned (user preference)
   Qore sets display:flex + justify-content:center on .sect-title .s-sub_title
   so we need to override the flex layout as well */
.s-sub_title,
.sect-title .s-sub_title {
  display: block !important;
  color: rgba(244, 247, 245, 0.6) !important;
  text-align: left !important;
  justify-content: flex-start !important;
  max-width: 720px;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Left-align ALL section headings globally — user preference; Qore centers by default */
.sect-title,
.sect-title .s-title,
.sect-title h1.s-title,
.sect-title h2.s-title,
.sect-title h3.s-title,
.sect-title h4.s-title {
  text-align: left !important;
}

/* ── QORE LAYOUT OVERRIDES ── */

/* section-benefit: Qore applies margin-top:-119px to .sect-title expecting
   an image above — our sections have no image, so reset to 0.
   z-index:3 ensures heading stays above any neighbouring positioned elements */
.section-benefit .sect-title,
.section-benefit.benefit-2 .sect-title {
  margin-top: 0 !important;
  position: relative !important;
  z-index: 3 !important;
}

/* Prevent sect-tagline hacker-text from bleeding into the heading below */
.sect-tagline {
  overflow: hidden;
  position: relative;
  z-index: 1;
}

/* Silence broken image 404 from qore-vendor.css (.wg-plan::after uses
   /images/section/visual-object-2.webp which doesn't exist) */
.wg-plan::after {
  display: none !important;
}

/* Orbit stage: allow nodes at outer edges to show without clipping */
.sp-orbit-stage {
  overflow: visible !important;
}

/* Solar demo section */
.section-solar-demo .sect-main {
  position: relative;
}

/* Qore br-line with dot on dark — fix dot visibility */
.br-line.has-dot::after,
.br-line.has-dot::before {
  background: var(--line, rgba(255,255,255,0.1)) !important;
}

/* Qore grid-pricing — 4-column on large screens */
@media (min-width: 1200px) {
  .grid-pricing {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media (max-width: 1199px) and (min-width: 768px) {
  .grid-pricing {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Fix hero video — keep behind content and tint */
.hero-video {
  position: fixed;
  inset: 0;
  z-index: -2;
  overflow: hidden;
}
.hero-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.18;
}

/* Ticker */
.zeq-ticker {
  overflow: hidden;
  border-top: 1px solid var(--line, rgba(255,255,255,0.08));
  border-bottom: 1px solid var(--line, rgba(255,255,255,0.08));
  white-space: nowrap;
  background: rgba(0,0,0,0.4);
}
.zeq-ticker-track {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 0.6rem 1rem;
  animation: ticker-slide 60s linear infinite;
}
.zeq-ticker-item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  color: rgba(244, 247, 245, 0.45);
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.zeq-ticker-item b {
  color: rgba(0, 255, 136, 0.7);
  font-weight: 600;
}
.zeq-ticker-sep {
  color: rgba(255,255,255,0.2);
  font-size: 0.6rem;
}
@keyframes ticker-slide {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

/* ════════════════════════════════════════════════════════════════
   INDEX.HTML — sp-* component styles (orbit, lang strip, physics,
   demo tabs, code viewer)
   ════════════════════════════════════════════════════════════════ */

/* ── Orbit Diagram ── */
.sp-orbit-section { width: 100%; }
.sp-orbit-section-inner { display: flex; gap: 2rem; align-items: flex-start; }
.sp-orbit-stage {
  position: relative;
  width: 220px;
  height: 220px;
  flex-shrink: 0;
}
.sp-orbit-ring {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(0,255,136,0.18);
  animation: orbit-spin 20s linear infinite;
}
.sp-orbit-ring-1 { width: 80px;  height: 80px;  animation-duration: 8s; border-color: rgba(0,255,136,0.35); }
.sp-orbit-ring-2 { width: 140px; height: 140px; animation-duration: 14s; animation-direction: reverse; }
.sp-orbit-ring-3 { width: 200px; height: 200px; animation-duration: 22s; }
@keyframes orbit-spin { from { transform: translate(-50%,-50%) rotate(0deg); } to { transform: translate(-50%,-50%) rotate(360deg); } }

.sp-orbit-core {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}
.sp-orbit-core-ring {
  width: 48px; height: 48px;
  border-radius: 50%;
  border: 2px solid rgba(0,255,136,0.7);
  background: rgba(0,255,136,0.08);
  display: flex; align-items: center; justify-content: center;
}
.sp-orbit-core-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.6rem;
  font-weight: 700;
  color: rgba(0,255,136,0.9);
  letter-spacing: 0.05em;
}
.sp-orbit-node {
  position: absolute;
  top: 50%; left: 50%;
  transform-origin: 0 0;
  z-index: 2;
}
.sp-orbit-node-inner {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.58rem;
  font-weight: 700;
  color: rgba(0,212,255,0.85);
  background: rgba(0,0,0,0.7);
  border: 1px solid rgba(0,212,255,0.3);
  border-radius: 3px;
  padding: 2px 5px;
  white-space: nowrap;
}
.sp-orbit-node--1 { transform: translate(-50%,-50%) rotate(0deg)   translate(40px) rotate(0deg); }
.sp-orbit-node--2 { transform: translate(-50%,-50%) rotate(60deg)  translate(70px) rotate(-60deg); }
.sp-orbit-node--3 { transform: translate(-50%,-50%) rotate(120deg) translate(70px) rotate(-120deg); }
.sp-orbit-node--4 { transform: translate(-50%,-50%) rotate(180deg) translate(100px) rotate(-180deg); }
.sp-orbit-node--5 { transform: translate(-50%,-50%) rotate(240deg) translate(100px) rotate(-240deg); }
.sp-orbit-node--6 { transform: translate(-50%,-50%) rotate(300deg) translate(100px) rotate(-300deg); }
.sp-orbit-legend {
  position: absolute;
  bottom: 4px; left: 50%;
  transform: translateX(-50%);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.55rem;
  color: rgba(255,255,255,0.3);
  white-space: nowrap;
  letter-spacing: 0.04em;
}

/* ── Language Strip ── */
.sp-lang-strip {
  border: 1px solid var(--line, rgba(255,255,255,0.08));
  padding: 1rem 1.25rem;
}
.sp-lang-strip-inner { display: flex; flex-direction: column; gap: 0.75rem; }
.sp-lang-strip-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
}
.sp-lang-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}
.sp-lang-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  opacity: 0.75;
  transition: opacity 0.2s;
}
.sp-lang-item:hover { opacity: 1; }
.sp-lang-icon { display: block; border-radius: 4px; }
.sp-lang-name {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.62rem;
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.05em;
}

/* ── API Demo Tabs ── */
.sp-demo-tabs {
  display: flex;
  border-bottom: 1px solid var(--line, rgba(255,255,255,0.08));
  background: rgba(0,0,0,0.25);
}
.sp-demo-tab {
  padding: 0.6rem 1.25rem;
  background: none;
  border: none;
  border-right: 1px solid var(--line, rgba(255,255,255,0.08));
  color: rgba(255,255,255,0.35);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.8rem;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.15s;
}
.sp-demo-tab.active { color: rgba(0,255,136,0.9); }
.sp-demo-tab:hover { color: rgba(255,255,255,0.75); }
.sp-demo-content { display: none; }
.sp-demo-content.active {
  display: block;
  position: relative;
}
.sp-demo-content.active::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 60% at 50% 100%, rgba(0,255,136,0.07) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.sp-code-block {
  margin: 0;
  padding: 1.5rem 1.5rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.82rem;
  line-height: 1.75;
  color: #b8f5d8;
  background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(2,8,20,0.75) 100%);
  overflow-x: auto;
  position: relative;
  z-index: 1;
}

/* Blast background behind the entire code demo wrapper */
.position-relative.has-hafl_plus:has(.sp-demo-tabs) {
  background: linear-gradient(160deg, rgba(0,10,20,0.95) 0%, rgba(0,20,10,0.85) 100%);
  box-shadow: inset 0 0 80px 0 rgba(0,255,136,0.04), 0 0 40px 0 rgba(0,0,0,0.4);
}

/* ── Physics Canvas — FULL WIDTH ── */
.sp-physics-bg-canvas {
  display: block;
  width: 100% !important;
  height: 360px;
  max-height: 360px;
  border: none;
  border-radius: 2px;
  background: rgba(0,0,0,0.5);
}

/* ── Physics canvas wrapper — animated sync-state border ── */
#physics-canvas-wrap {
  border: 1.5px solid rgba(0,255,136,0.45);
  border-radius: 3px;
  transition: border-color 0.25s ease;
}
#physics-canvas-wrap.sync-off {
  border-color: rgba(239,68,68,0.55);
}
.sp-physics-pulse-badge {
  position: absolute;
  top: 12px; right: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(0,0,0,0.65);
  border: 1px solid rgba(0,255,136,0.3);
  border-radius: 20px;
  padding: 4px 12px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  color: rgba(0,255,136,0.9);
  pointer-events: none;
  z-index: 5;
}
.sp-physics-pulse-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: rgba(0,255,136,0.9);
  animation: pulse-dot 1.4s ease-in-out infinite;
  flex-shrink: 0;
}

/* ── Code Viewer (slide-up panel) ── */
.sp-code-viewer {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  height: 38vh;
  background: #0a0f1a;
  border-top: 1px solid rgba(0,255,136,0.25);
  z-index: 999;
  display: flex;
  flex-direction: column;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}
.sp-code-viewer.is-open {
  transform: translateY(0);
}
.sp-code-viewer-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  background: rgba(0,0,0,0.35);
  flex-shrink: 0;
}
.sp-code-viewer-title {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.04em;
}
.sp-code-viewer-toggle {
  padding: 4px 12px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 3px;
  color: rgba(255,255,255,0.6);
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  cursor: pointer;
  transition: all 0.15s;
}
.sp-code-viewer-toggle:hover { border-color: rgba(0,255,136,0.4); color: rgba(0,255,136,0.9); }
.sp-code-viewer-close {
  width: 26px; height: 26px;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.5);
  font-size: 0.8rem;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all 0.15s;
}
.sp-code-viewer-close:hover { background: rgba(255,80,80,0.15); border-color: rgba(255,80,80,0.4); color: #ff5555; }
.sp-code-viewer-pre {
  flex: 1;
  overflow: auto;
  margin: 0;
  padding: 1rem 1.25rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.78rem;
  line-height: 1.65;
  color: #b8f5d8;
  background: transparent;
  tab-size: 2;
}

/* ── Code viewer: active / inactive branch highlighting ── */
.sp-code-viewer-pre .cv-active   { color: #b8f5d8; }
.sp-code-viewer-pre .cv-inactive { color: rgba(255,255,255,0.2); }

/* ── Physics demo proof-tagline copy ── */
.zeq-proof-tagline {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.9rem;
  color: rgba(255,255,255,0.5);
  margin: 0.25rem 0 1.5rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
}

/* ── btn-code-viewer ── */
.btn-code-viewer {
  padding: 9px 16px;
  border-radius: 2px;
  border: 1px solid rgba(0,255,136,0.3);
  background: rgba(0,255,136,0.06);
  color: rgba(0,255,136,0.85);
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s;
}
.btn-code-viewer:hover { background: rgba(0,255,136,0.12); border-color: rgba(0,255,136,0.5); }

/* ── Solar demo canvas ── */
#solar-physics-canvas {
  display: block;
  width: 100% !important;
  height: 675px;
  background: rgba(0,0,0,0.5);
  border: none;
  border-radius: 2px;
}

/* ── Section titles — ALL CAPS ── */
.sect-title h1.s-title,
.sect-title h2.s-title {
  text-transform: uppercase !important;
}

/* ── Hacker text reveal animation on section headings ── */
@keyframes zeq-hacker-flicker {
  0%  { opacity: 0.7; }
  50% { opacity: 1; }
  100%{ opacity: 0.7; }
}
.zeq-hacker-animating {
  animation: zeq-hacker-flicker 0.05s linear infinite;
}

/* ── Section physics demo + solar — remove container max-width cap on canvas ── */
.section-physics-demo .sect-main,
.section-solar-demo .sect-main {
  padding-top: 0;
  padding-bottom: 0;
}
.section-physics-demo .sect-main .container,
.section-solar-demo .sect-main .container {
  max-width: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
}

/* ── De-center old-style section.hero when inside sect-main ──
   style.css sets text-align:center on .hero globally.
   Inner pages embed section.hero in sect-main; override to
   match the left-aligned homepage layout. */
.sect-main section.hero { text-align: left !important; }
.sect-main section.hero .hero-sub {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* ── Left-align qz-hero inner content ── */
.sect-main .qz-hero .qz-hero-inner { text-align: left; }
.sect-main .qz-hero .qz-hero-sub {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   CANONICAL HERO COMPONENT CLASSES
   Single authoritative definitions — applied site-wide, all 25 pages.
   These live here (page-extras.css, loads last) to win specificity wars.
   ════════════════════════════════════════════════════════════════════════════ */

/* ── qz-sect-eyebrow — green mono label before every hero/section heading ── */
.qz-sect-eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-family: var(--font-mono, 'JetBrains Mono', monospace) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  color: var(--accent, #00ff88) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 0.9rem !important;
  opacity: 0.9;
}
.qz-sect-eyebrow::before {
  content: '' !important;
  display: inline-block !important;
  width: 20px !important;
  height: 1px !important;
  background: var(--accent, #00ff88) !important;
  opacity: 0.6 !important;
  flex-shrink: 0 !important;
}

/* ── qz-hero-title — the massive Geist-900 uppercase headline ── */
.qz-hero-title {
  font-family: 'Geist', 'Inter', system-ui, sans-serif !important;
  font-size: clamp(2rem, 6vw, 3.5rem) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
  color: #fff !important;
  text-transform: uppercase !important;
  margin-bottom: 1.25rem !important;
}

/* ── qz-hero-sub — muted gray body text below the hero title ── */
.qz-hero-sub {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: clamp(0.95rem, 2vw, 1.1rem) !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.5) !important;
  line-height: 1.72 !important;
  max-width: 620px !important;
  margin-bottom: 2rem !important;
}

/* ── iv-hero-sub / a4-hero-sub — align fullscreen page subs to same spec ── */
.iv-hero-sub,
.a4-hero-sub {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: clamp(0.95rem, 2vw, 1.1rem) !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.5) !important;
  line-height: 1.72 !important;
}

/* ── iv-eyebrow / a4-eyebrow — strict parity with qz-sect-eyebrow spec ── */
.iv-eyebrow,
.a4-eyebrow {
  margin-bottom: 0.9rem !important;
  opacity: 0.9 !important;
  font-family: var(--font-mono, 'JetBrains Mono', monospace) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
}
.iv-eyebrow::before,
.a4-eyebrow::before {
  opacity: 0.6 !important;
}

/* ── Global accent utility — Zeq Green highlight in hero titles ── */
.qz-accent { color: var(--accent); }

/* ── qz-sect-title — canonical section h2 base styles ── */
.qz-sect-title {
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
}

/* ── sect-tagline alignment (Qore centers by default) ── */
.sect-tagline_title,
.sect-tagline_sub { text-align: left !important; }
.sect-tagline_inner { text-align: left; }

/* ── sect-tagline_title color fix — secondary sections ──
   h2.sect-tagline_title picks up Bootstrap's dark color on
   inner-page secondary sections. Force it to readable white. */
.sect-tagline_title {
  color: rgba(255, 255, 255, 0.92) !important;
  font-size: clamp(1rem, 2vw, 1.4rem) !important;
}
.sect-tagline_sub {
  color: rgba(255, 255, 255, 0.55) !important;
}

/* ── Per-page hero title uppercase (pages using plain <h1> in hero) ── */

/* enterprise.html — #ent-hero plain <h1> */
.section-ent-hero h1 { text-transform: uppercase !important; }

/* buildathon.html — #buildathon-hero plain <h1> */
.section-buildathon-hero h1 { text-transform: uppercase !important; }

/* skills.html — .sect-title h1 inside sect-main */
.sect-main .sect-title h1 { text-transform: uppercase !important; }

/* framework.html — section.hero plain <h1> */
.sect-main section.hero h1 { text-transform: uppercase !important; }

/* =============================================================
   GLOBAL DARK THEME OVERRIDES — beats Bootstrap on all pages
   page-extras.css loads AFTER bootstrap.min.css on every page.
   ============================================================= */

/* ----------------------------------------------------------
   A. BODY — Bootstrap sets color:#212529 (near-black).
      Force to the Qore/ZEQ light text variable.
   ---------------------------------------------------------- */
body {
  color: var(--text, #e8e8e8) !important;
}

/* ----------------------------------------------------------
   B. TEXT-MUTED — Bootstrap forces #6c757d !important
      which is near-invisible on a dark background.
   ---------------------------------------------------------- */
.text-muted {
  color: rgba(255, 255, 255, 0.55) !important;
}

.text-secondary {
  color: rgba(255, 255, 255, 0.5) !important;
}

/* ----------------------------------------------------------
   C. CARD — Bootstrap sets background:#fff.
      Override to Qore glass/translucent style.
   ---------------------------------------------------------- */
.card {
  background: rgba(255, 255, 255, 0.02) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  color: var(--text, #e8e8e8) !important;
}

.card-body {
  background: transparent;
  color: inherit;
}

.card .list-group-item {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.06);
  color: var(--text, #e8e8e8);
}

/* ----------------------------------------------------------
   D. PRE / CODE — force dark background globally
   ---------------------------------------------------------- */
pre {
  background: rgba(0, 0, 0, 0.35);
  color: #b8f5d8;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 2px;
}

code {
  background: transparent;
  color: var(--accent, #00ff88);
}

pre code {
  background: transparent;
  color: inherit;
}

/* ----------------------------------------------------------
   E. HERO SECTION PADDING — every inner page uses its own
      section class so .section-hero's 219px rule from
      qore-vendor.css never applies. This restores it.
   ---------------------------------------------------------- */
.section-mcp-hero .sect-title,
.section-security-main .sect-title,
.section-protocols-main .sect-title,
.section-pricing-hero .sect-title,
.section-docs-main .sect-title,
.section-faq-main .sect-title,
.section-research-main .sect-title,
.section-vision-hero .sect-title,
.section-iv-hero .sect-title,
.section-math-main .sect-title,
.section-paradigm-main .sect-title,
.section-a4-hero .sect-title,
.section-buildathon-hero .sect-title,
.section-consulting-main .sect-title,
.section-contact-main .sect-title,
.section-gloss-framework .sect-title,
.section-skills-hero .sect-title,
.section-ent-hero .sect-title,
.section-error-404 .sect-title,
.section-pd-main .sect-title,
#compare-hero .sect-title {
  padding-top: 219px;
  padding-bottom: 63px;
}

@media (max-width: 1199px) {
  .section-mcp-hero .sect-title,
  .section-security-main .sect-title,
  .section-protocols-main .sect-title,
  .section-pricing-hero .sect-title,
  .section-docs-main .sect-title,
  .section-faq-main .sect-title,
  .section-research-main .sect-title,
  .section-vision-hero .sect-title,
  .section-iv-hero .sect-title,
  .section-math-main .sect-title,
  .section-paradigm-main .sect-title,
  .section-a4-hero .sect-title,
  .section-buildathon-hero .sect-title,
  .section-consulting-main .sect-title,
  .section-contact-main .sect-title,
  .section-gloss-framework .sect-title,
  .section-skills-hero .sect-title,
  .section-ent-hero .sect-title,
  .section-error-404 .sect-title,
  .section-pd-main .sect-title,
  #compare-hero .sect-title {
    padding-top: 88px;
    padding-bottom: 48px;
  }
}


/* ═══════════════════════════════════════════════════════════════════════
   GLOBAL PRODUCTION CONSISTENCY OVERHAUL
   Loads last — beats every Qore, Bootstrap, and style.css rule.
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── 1. UNIFORM FONT SYSTEM ─────────────────────────────────────────── */
/* Geist for ALL headings across every page — no exceptions */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: "Geist", "Inter", system-ui, -apple-system, sans-serif !important;
}
h1, .h1 {
  font-weight: 900 !important;
}
h2, .h2 {
  font-weight: 700 !important;
}
h3, .h3 {
  font-weight: 600 !important;
}
/* Body text: Geist matches the Qore vendor.css definition */
body,
body p,
body li,
body td,
body th,
body label,
body input,
body textarea,
body select {
  font-family: "Geist", "Inter", system-ui, -apple-system, sans-serif;
}
/* Monospace stays JetBrains Mono */
code, pre,
.font-mono, .mono,
.font-2,
kbd,
.gloss-term, .gloss-mono,
.math-eq, .math-term-sym,
.math-section-badge, .math-header-label,
.math-eq-label, .math-toc a, .math-toc-div,
.math-section-role, .math-terms-title,
.math-cs-note-label, .math-section-badge,
.gloss-category-label, .gloss-meta,
.gloss-refs-label, .gloss-ref-title {
  font-family: "JetBrains Mono", "Fira Code", monospace !important;
}

/* ─── 2. LIQUID GLASS — true glass look on all card/panel types ──── */
/* Glass = light surface on dark background. NOT a dark rectangle.    */
.inv-metric-card,
.inv-pillar,
.agent-arch-card,
.agent-use-card,
.build-track-card,
.prize-card,
.vision-phase-card,
.analogy-card,
.proto-card,
.skill-card,
.cs-service-card,
.cs-why-item,
.demo-card,
.sec-control-card,
.disc-card,
.fw-layer,
.fw-flow-item,
.eq-block,
.math-eq-block,
.math-term,
.math-cs-note,
.gloss-ref-link,
.faq-item,
.pricing-card,
.invest-card {
  backdrop-filter: blur(8px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(8px) saturate(140%) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 4px 24px rgba(0, 0, 0, 0.25) !important;
}

/* Hover: gentle green edge glow */
.inv-metric-card:hover,
.inv-pillar:hover,
.agent-arch-card:hover,
.agent-use-card:hover,
.build-track-card:hover,
.prize-card:hover,
.vision-phase-card:hover,
.analogy-card:hover,
.proto-card:hover,
.skill-card:hover,
.cs-service-card:hover,
.demo-card:hover,
.sec-control-card:hover,
.disc-card:hover,
.fw-layer:hover,
.pricing-card:hover,
.invest-card:hover {
  background: rgba(0, 255, 136, 0.04) !important;
  border-color: rgba(0, 255, 136, 0.18) !important;
  box-shadow: inset 0 1px 0 rgba(0, 255, 136, 0.1), 0 4px 32px rgba(0, 255, 136, 0.08) !important;
}

/* ─── 3. SECONDARY SECTION HEADINGS — consistent across multi-section pages */
.sect-tagline_title {
  font-family: "Geist", "Inter", system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(1.5rem, 3.5vw, 2.5rem) !important;
  line-height: 1.15 !important;
  color: #fff !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
}
.sect-tagline_sub {
  font-size: 1rem !important;
  color: rgba(255, 255, 255, 0.5) !important;
  line-height: 1.65 !important;
  margin-top: 0.75rem !important;
  font-weight: 400 !important;
}

/* ─── 4. GLOSSARY — .gloss-* class CSS (HTML uses these names) ───────── */

.gloss-category {
  margin-bottom: 3.5rem;
}

.gloss-category-label {
  font-size: 0.65rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(0, 255, 136, 0.7);
  margin-bottom: 1rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid rgba(0, 255, 136, 0.18);
}

.gloss-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.gloss-entry {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 1.5rem;
  padding: 1.4rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  align-items: baseline;
}

.gloss-entry:last-child {
  border-bottom: none;
}

.gloss-term {
  font-size: 0.85rem;
  font-weight: 700;
  color: rgba(0, 255, 136, 0.92);
  letter-spacing: 0.03em;
  line-height: 1.4;
}

.gloss-def {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.62);
  line-height: 1.8;
}

.gloss-def p {
  margin-bottom: 0.65rem;
}

.gloss-def p:last-child {
  margin-bottom: 0;
}

.gloss-meta {
  font-size: 0.76rem;
  color: rgba(255, 255, 255, 0.32);
  margin-top: 0.55rem;
  line-height: 1.5;
}

.gloss-meta a {
  color: rgba(0, 255, 136, 0.65);
  text-decoration: none;
  transition: color 0.15s;
}

.gloss-meta a:hover {
  color: rgba(0, 255, 136, 0.9);
}

.gloss-mono {
  font-size: 0.8rem;
  color: rgba(0, 255, 136, 0.88);
  background: rgba(0, 255, 136, 0.07);
  padding: 0.06rem 0.35rem;
  border-radius: 3px;
}

/* Glossary: references block */
.gloss-refs {
  max-width: 760px;
}

.gloss-refs-label {
  font-size: 0.65rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(0, 255, 136, 0.7);
  margin-bottom: 1rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid rgba(0, 255, 136, 0.18);
}

.gloss-refs-links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 1rem;
}

.gloss-ref-link {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 1.25rem 1.35rem;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  text-decoration: none;
  transition: border-color 0.2s;
}

.gloss-ref-link:hover {
  border-color: rgba(0, 255, 136, 0.35);
}

.gloss-ref-title {
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(0, 255, 136, 0.9);
}

.gloss-ref-desc {
  font-size: 0.77rem;
  color: rgba(255, 255, 255, 0.42);
  line-height: 1.45;
  font-family: "Geist", "Inter", sans-serif !important;
}

/* Glossary search input: glass refinement */
#gloss-search {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 3px !important;
  color: #fff !important;
  font-family: "JetBrains Mono", monospace !important;
  font-size: 0.85rem !important;
  padding: 0.65rem 1rem !important;
  outline: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s !important;
}

#gloss-search:focus {
  border-color: rgba(0, 255, 136, 0.4) !important;
}

/* Glossary hidden entries (JS search) */
.gloss-entry.hidden {
  display: none !important;
}

/* Responsive: stack term/def on small screens */
@media (max-width: 640px) {
  .gloss-entry {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }
}

/* ─── 5. MATH PAGE — .math-* class CSS ───────────────────────────────── */

.math-page {
  max-width: 920px;
  margin: 0 auto;
  padding: 2rem 2rem 6rem;
}

.math-header {
  margin-bottom: 2.5rem;
}

.math-header-label {
  font-size: 0.65rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(0, 255, 136, 0.7);
  margin-bottom: 0.8rem;
}

h1.math-title {
  font-size: clamp(2rem, 5vw, 3.25rem) !important;
  font-weight: 900 !important;
  color: #fff !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 0.75rem !important;
  font-family: "Geist", "Inter", sans-serif !important;
}

.math-subtitle {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.48);
  line-height: 1.65;
}

.math-subtitle a,
a.math-doi-link {
  color: rgba(0, 255, 136, 0.8);
  text-decoration: none;
}

.math-toc {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 0.85rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.math-toc a {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
  transition: color 0.15s;
}

.math-toc a:hover {
  color: rgba(0, 255, 136, 0.85);
}

.math-toc-div {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.18);
}

.math-container {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}

.math-section {
  position: relative;
  padding: 2rem 1.5rem 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.math-section-badge {
  font-size: 0.65rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(0, 255, 136, 0.6);
  margin-bottom: 0.5rem;
}

h2.math-section-title {
  font-size: clamp(1.35rem, 3vw, 2rem) !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  margin-bottom: 0.4rem !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
  font-family: "Geist", "Inter", sans-serif !important;
}

.math-section-role {
  font-size: 0.74rem;
  color: rgba(0, 255, 136, 0.75);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.math-section-desc {
  font-size: 0.925rem;
  color: rgba(255, 255, 255, 0.58);
  line-height: 1.8;
  max-width: 780px;
  margin-bottom: 1.5rem;
}

.math-eq-block {
  background: rgba(0, 0, 0, 0.38);
  border: 1px solid rgba(0, 255, 136, 0.18);
  border-radius: 4px;
  padding: 1.6rem 2rem;
  margin: 1.5rem 0;
  overflow-x: auto;
}

.math-eq-label {
  font-size: 0.65rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(0, 255, 136, 0.6);
  margin-bottom: 0.75rem;
}

pre.math-eq {
  font-size: clamp(0.82rem, 1.5vw, 1rem) !important;
  color: #b8f5d8 !important;
  line-height: 2 !important;
  white-space: pre-wrap !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.math-terms {
  margin-top: 2rem;
}

h3.math-terms-title {
  font-size: 0.65rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.3) !important;
  margin-bottom: 1rem !important;
  font-family: "JetBrains Mono", monospace !important;
}

.math-term-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
  gap: 1rem;
}

.math-term {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 4px;
  padding: 1.4rem 1.5rem;
}

.math-term-sym {
  font-size: 1rem;
  color: rgba(0, 255, 136, 0.92);
  font-weight: 700;
  margin-bottom: 0.35rem;
  line-height: 1.3;
  font-family: "JetBrains Mono", monospace !important;
}

.math-term-name {
  font-size: 0.8rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 0.3rem;
  line-height: 1.4;
}

.math-term-desc {
  font-size: 0.77rem;
  color: rgba(255, 255, 255, 0.48);
  line-height: 1.65;
}

.math-cs-note {
  background: rgba(0, 255, 136, 0.04);
  border: 1px solid rgba(0, 255, 136, 0.16);
  border-radius: 4px;
  padding: 1.25rem 1.6rem;
  margin-top: 1.5rem;
}

.math-cs-note-label {
  font-size: 0.65rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(0, 255, 136, 0.7);
  margin-bottom: 0.5rem;
  font-family: "JetBrains Mono", monospace !important;
}

.math-cs-note-text {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.75;
}

/* ═══════════════════════════════════════════════════════════════════
   TASK #87 — Full Typography, Green Accents, Spacing & Liquid Glass
   ═══════════════════════════════════════════════════════════════════ */

/* ── Heading type upgrades ─────────────────────────────────────────── */
.s-title.font-3,
h2.s-title.font-3 {
  font-family: "Geist", "Inter", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  color: #fff !important;
  text-decoration: none !important;
  border: none !important;
  outline: none !important;
}
.s-title.font-3 *,
h2.s-title.font-3 * {
  text-decoration: none !important;
  border: none !important;
}

.qz-sect-title {
  font-family: "Geist", "Inter", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.2 !important;
  color: #fff !important;
}

.sect-tagline_title {
  font-family: "Geist", "Inter", sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(1.35rem, 2.8vw, 2.1rem) !important;
  letter-spacing: -0.01em !important;
  line-height: 1.25 !important;
  color: #fff !important;
}

.cta-h2,
h2.cta-h2 {
  font-family: "Geist", "Inter", sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: -0.02em !important;
  color: #fff !important;
}

/* Section title inside .sect-main h2/h3 fallback */
.sect-main h2:not(.qz-hero-title):not(.qz-sect-title):not(.s-title),
.sect-main h3:not(.qz-hero-title):not(.qz-sect-title) {
  font-family: "Geist", "Inter", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
  color: #fff !important;
}

/* ── Body copy refinements ─────────────────────────────────────────── */
.sect-main p,
.sect-main .text-body-2,
.sect-main .text-body-3,
.text-muted {
  color: rgba(255, 255, 255, 0.90) !important;
  line-height: 1.78 !important;
}

.sect-desc,
.qz-sect-tagline {
  color: rgba(255, 255, 255, 0.85) !important;
  line-height: 1.75 !important;
}

/* ── Green accent spans ────────────────────────────────────────────── */
.qz-accent {
  color: #00ff88 !important;
}

/* ── Spacing normalization ─────────────────────────────────────────── */
.qz-sect-title {
  margin-bottom: 0.85rem !important;
}

.sect-tagline_title {
  margin-bottom: 0.75rem !important;
}

.sect-tagline_sub {
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 0.95rem !important;
  line-height: 1.7 !important;
}

/* ── Liquid Glass — expanded card types (TRUE GLASS: light on dark) ── */

/* Shared glass mixin values:
   background: rgba(255,255,255,0.04)  — subtle light surface
   border: rgba(255,255,255,0.08)      — thin glass edge
   box-shadow: inset 0 1px 0 rgba(255,255,255,0.07) — top highlight  */

/* Vision timeline rows */
.vs-timeline-row,
.vs-timeline-row--alt {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
  transition: border-color 0.2s, background 0.2s !important;
}
.vs-timeline-row:hover,
.vs-timeline-row--alt:hover {
  background: rgba(0, 255, 136, 0.04) !important;
  border-color: rgba(0, 255, 136, 0.18) !important;
}
.vs-timeline-row--zeq {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background: rgba(0, 255, 136, 0.05) !important;
  border-color: rgba(0, 255, 136, 0.22) !important;
}

/* Vision future / tech cards */
.vs-ft-card {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: var(--radius) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
  transition: border-color 0.2s, background 0.2s, transform 0.2s !important;
}
.vs-ft-card:hover {
  background: rgba(0, 255, 136, 0.04) !important;
  border-color: rgba(0, 255, 136, 0.22) !important;
  transform: translateY(-2px) !important;
}

/* MCP panel inner */
.mcp-panel-inner {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

/* Docs step rows */
.docs-step-row {
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
  margin-bottom: 0.75rem !important;
  padding: 1.1rem 1.4rem !important;
  transition: border-color 0.2s !important;
}
.docs-step-row:hover {
  background: rgba(0, 255, 136, 0.04) !important;
  border-color: rgba(0, 255, 136, 0.18) !important;
}

/* Consulting service cards */
.cs-service-card {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
}

/* Consulting why-item cards */
.cs-why-item {
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

/* Consulting stat cards */
.cs-stat {
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

/* Innovation / market cards */
.iv-market-card,
.ent-cap-card {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
  transition: border-color 0.2s, background 0.2s !important;
}
.iv-market-card:hover,
.ent-cap-card:hover {
  background: rgba(0, 255, 136, 0.04) !important;
  border-color: rgba(0, 255, 136, 0.2) !important;
}

/* Security cards */
.sec-card {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
}
.sec-card.sec-card-accent {
  background: rgba(0, 255, 136, 0.05) !important;
  border-color: rgba(0, 255, 136, 0.2) !important;
}

/* HulyaSync panel */
.hulya-sync-panel {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
}

/* Contact form */
.contact-form,
.contact-form-wrap {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
}

/* cp-diff comparison cards */
.cp-diff-card {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

/* FAQ items */
.faq-item {
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

/* Pricing plan cards */
.plan-card {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
}

/* Support / program cards on pricing */
.support-card,
.support-card--muted {
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.07) !important;
}

/* Framework / generic cards */
.card,
.card-hover {
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

/* ── Skill cards ───────────────────────────────────────────────────── */
.skill-card {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
  transition: border-color 0.2s, transform 0.2s !important;
}
.skill-card:hover {
  background: rgba(0, 255, 136, 0.04) !important;
  border-color: rgba(0, 255, 136, 0.22) !important;
  transform: translateY(-2px) !important;
}

/* ── Tool item cards (MCP page) ────────────────────────────────────── */
.tool-item-card-lg {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
  transition: border-color 0.2s !important;
}
.tool-item-card-lg:hover {
  background: rgba(0, 255, 136, 0.04) !important;
  border-color: rgba(0, 255, 136, 0.2) !important;
}

/* ── HITE pipeline steps (security page) ──────────────────────────── */
.hite-step {
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

/* ── qz-stat-card upgrade ─────────────────────────────────────────── */
.qz-stat-card {
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

/* ── cs-engage-section glass ──────────────────────────────────────── */
.cs-engage-step {
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

/* ── Position / hafl-plus grid cards (index homepage) ─────────────── */
.position-relative.has-hafl_plus[style*="border:1px solid var(--line)"] {
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  background: rgba(255, 255, 255, 0.03) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

/* ── T87 EXTENDED: Global section spacing ─────────────────────────── */

/* First content section after hero gets extra breathing room */
.section-problem:first-of-type,
.qz-sect:first-of-type,
section.section-benefit:first-of-type {
  padding-top: 7rem !important;
}

/* Standard section padding across all named sections */
.section-problem,
.section-benefit,
.section-compare,
.section-five-properties,
.section-solar-demo,
.section-cta,
.section-ecosystem,
.section-physics-demo,
.qz-sect {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

/* ── T87 EXTENDED: Section-scoped body paragraph typography ──────── */
/* Deliberately scoped to avoid touching hero, nav, footer */

.sect-main p:not(.s-number_order):not(.s-label):not(.hacker-text):not(.plan-description):not(.cta-sub),
.sect-main .text-body-2,
.sect-main .text-body-3,
.s-sub_title,
.sect-desc,
.cta-sub,
.cta-sub-nomax,
.vs-body,
.sp-ps-lead,
.pdm-closing-body,
.a4-cta-sub,
.iv-body,
.math-section-desc,
.pd-lead {
  font-family: "Inter", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.78 !important;
  color: rgba(255, 255, 255, 0.90) !important;
}

/* Slightly larger lead-in paragraph variant */
.s-sub_title {
  font-size: 1.05rem !important;
}

/* ── T87 EXTENDED: FAQ section title accent coloring ─────────────── */
/* faq-section-title elements are div eyebrow labels — style via CSS */
.faq-section-title {
  color: #00ff88 !important;
  font-family: "Geist", "Inter", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

/* ── T87 EXTENDED: Consistent liquid glass baseline ───────────────── */

/* TRUE GLASS: light reflection on dark background — NOT a dark rectangle */
.card,
.card-hover,
.card-accent,
.plan-card,
.wg-plan,
.skill-card,
.tool-item-card-lg,
.sec-card,
.cs-service-card,
.cs-why-item,
.cs-stat,
.vs-ft-card,
.vs-timeline-row,
.vs-timeline-row--alt,
.vs-timeline-row--zeq,
.iv-market-card,
.ent-cap-card,
.faq-item,
.hite-step,
.hulya-sync-panel,
.mcp-panel-inner,
.docs-step-row,
.contact-form,
.contact-form-wrap,
.contact-form-card,
.cp-diff-card,
.a4-problem-card,
.a4-solution-card,
.iv-team-card,
.iv-ask-box,
.support-card,
.support-card--muted,
.qz-stat-card,
.cs-engage-step,
.math-section,
.format-box,
.proto-field-table,
.pdm-iso-text,
.a4-code-block,
.mcp-share-box,
.build-track-card,
.ent-form-wrap,
.paper-card,
.err-outer {
  backdrop-filter: blur(8px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(8px) saturate(120%) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 2px 16px rgba(0, 0, 0, 0.2) !important;
  transition: border-color 0.22s, background 0.22s, transform 0.22s !important;
}

/* Hover state for interactive cards */
.card-hover:hover,
.skill-card:hover,
.tool-item-card-lg:hover,
.cs-service-card:hover,
.cs-why-item:hover,
.vs-ft-card:hover,
.iv-market-card:hover,
.ent-cap-card:hover,
.a4-problem-card:hover,
.a4-solution-card:hover,
.iv-team-card:hover,
.build-track-card:hover {
  background: rgba(0, 255, 136, 0.05) !important;
  border-color: rgba(0, 255, 136, 0.2) !important;
  box-shadow: inset 0 1px 0 rgba(0, 255, 136, 0.1), 0 4px 24px rgba(0, 255, 136, 0.07) !important;
  transform: translateY(-2px) !important;
}

/* ZeqState accent card keeps its green tint */
.vs-timeline-row--zeq,
.sec-card.sec-card-accent,
.plan-card.featured,
.wg-plan.type-2 {
  background: rgba(0, 255, 136, 0.04) !important;
  border-color: rgba(0, 255, 136, 0.2) !important;
}

/* ── T87 EXTENDED: Legal/policy page h2 styling ───────────────────── */

/* Privacy and Terms bare h2 elements get proper treatment */
.qz-policy-body h2,
.legal-body h2 {
  font-family: "Geist", "Inter", sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
  color: #fff !important;
  letter-spacing: -0.01em !important;
  margin-top: 2.25rem !important;
  margin-bottom: 0.6rem !important;
}

/* ── T87 EXTENDED: faq section headings ──────────────────────────── */
/* faq-section-title accent coloring handled by .qz-accent child spans */
.faq-section-title {
  font-family: "Geist", "Inter", sans-serif !important;
  font-weight: 700 !important;
}

/* ── T87 EXTENDED: research page headings ────────────────────────── */
.rs-section-title,
.research-section-title {
  font-family: "Geist", "Inter", sans-serif !important;
  font-weight: 800 !important;
  color: #fff !important;
}

/* END TASK #87 */

/* ═══════════════════════════════════════════════════════════════════
   TASK #88 — Visual Foundation: Starfield · Green Accents · Buttons
   ═══════════════════════════════════════════════════════════════════ */

/* ── Galaxy canvas: sits behind everything, never blocks content ── */
#galaxy-bg-canvas {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* Ensure the page wrapper sits above the canvas */
#wrapper {
  position: relative !important;
  z-index: 1 !important;
}

/* ── Green accent spans — maximally specific selector chain ──────── */
/* Covers every heading level, every section class, every page */
.qz-accent,
span.qz-accent,
h1 .qz-accent,
h2 .qz-accent,
h3 .qz-accent,
h4 .qz-accent,
.qz-hero-title .qz-accent,
.qz-hero-title span.qz-accent,
.qz-sect-title .qz-accent,
.qz-sect-title span.qz-accent,
.sect-tagline_title .qz-accent,
.sect-tagline_title span.qz-accent,
.s-title .qz-accent,
.s-title span.qz-accent,
.cta-h2 .qz-accent,
.cta-h2 span.qz-accent,
.faq-section-title .qz-accent,
.faq-section-title span.qz-accent,
.rs-section-title .qz-accent,
.research-section-title .qz-accent,
.sect-title h2 .qz-accent,
.sect-title h3 .qz-accent,
.font-3 .qz-accent,
.font-3 span.qz-accent,
[class*="section"] h1 .qz-accent,
[class*="section"] h2 .qz-accent,
[class*="section"] h3 .qz-accent {
  color: #00ff88 !important;
  -webkit-text-fill-color: #00ff88 !important;
}

/* Also handle direct inline style="color:var(--accent)" on spans — force via cascade */
[style*="color:var(--accent)"],
[style*="color: var(--accent)"] {
  color: #00ff88 !important;
}

/* ── Button overhaul — bigger, bolder, unmistakably green ─────────── */

/* Primary: solid green fill, dark text */
.btn.btn-primary,
a.btn.btn-primary,
button.btn.btn-primary,
.btn-primary {
  background: #00ff88 !important;
  color: #0a0d12 !important;
  border-color: #00ff88 !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.04em !important;
  padding: 0.9rem 2.5rem !important;
  min-height: 52px !important;
  border-radius: 4px !important;
  box-shadow: 0 0 18px rgba(0, 255, 136, 0.22) !important;
  transition: background 0.18s, box-shadow 0.18s, transform 0.12s !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.btn.btn-primary:hover,
a.btn.btn-primary:hover,
button.btn.btn-primary:hover,
.btn-primary:hover {
  background: #00ff88 !important;
  box-shadow: 0 0 32px rgba(0, 255, 136, 0.4) !important;
  transform: translateY(-1px) !important;
  color: #0a0d12 !important;
}

/* Secondary: ghost style with green border + text */
.btn.btn-secondary,
a.btn.btn-secondary,
button.btn.btn-secondary,
.btn-secondary,
.btn.btn-outline,
a.btn.btn-outline,
button.btn.btn-outline,
.btn-outline {
  background: transparent !important;
  color: #00ff88 !important;
  border: 1.5px solid rgba(0, 255, 136, 0.45) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.04em !important;
  padding: 0.9rem 2.5rem !important;
  min-height: 52px !important;
  border-radius: 4px !important;
  transition: background 0.18s, border-color 0.18s, box-shadow 0.18s, transform 0.12s !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.btn.btn-secondary:hover,
a.btn.btn-secondary:hover,
button.btn.btn-secondary:hover,
.btn-secondary:hover,
.btn.btn-outline:hover,
a.btn.btn-outline:hover,
button.btn.btn-outline:hover,
.btn-outline:hover {
  background: rgba(0, 255, 136, 0.08) !important;
  border-color: rgba(0, 255, 136, 0.75) !important;
  box-shadow: 0 0 20px rgba(0, 255, 136, 0.18) !important;
  transform: translateY(-1px) !important;
  color: #00ff88 !important;
}

/* Large size modifier */
.btn--lg,
.btn.btn--lg {
  padding: 1.1rem 3rem !important;
  min-height: 58px !important;
  font-size: 1rem !important;
}

/* Hero CTA button group spacing */
.qz-hero-inner .btn,
.qz-hero-cta .btn {
  margin: 0 !important;
}

/* ── Body background: black + fixed green grid, truly behind everything ── */
body {
  background-color: #000000 !important;
  background-image:
    repeating-linear-gradient(0deg,transparent,transparent 63px,rgba(0,255,136,0.15) 63px,rgba(0,255,136,0.15) 64px),
    repeating-linear-gradient(90deg,transparent,transparent 63px,rgba(0,255,136,0.15) 63px,rgba(0,255,136,0.15) 64px) !important;
  background-attachment: fixed !important;
}

/* The overlay_body/texture_page elements must stay BEHIND content */
.overlay_body,
.texture_page {
  z-index: 0 !important;
  pointer-events: none !important;
}

/* hero-video stays behind tint and content */
.hero-video {
  z-index: -2 !important;
}
/* Kill qore-vendor.css gradient pseudo-elements (vertical line + double overlay) */
.hero-video::before,
.hero-video::after {
  display: none !important;
  content: none !important;
}

/* Kill qore-vendor.css gradient pseudo-elements — they create solid black
   vertical columns (::after, 270deg) and top/bottom fades (::before, 180deg)
   that stack with the body::after tint and cause the thick vertical line.
   body::after rgba(0,0,0,0.65) is the ONLY tint layer we keep. */
.hero-video::before,
.hero-video::after {
  display: none !important;
  content: none !important;
}

/* ── Pricing CTA buttons: bigger, bolder (matches btn--lg standard) ─ */
.sp-btn-price,
a.sp-btn-price {
  padding: 1rem 1.5rem !important;
  min-height: 52px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  border-radius: var(--radius-sm) !important;
  letter-spacing: 0.02em !important;
}

.sp-btn-price--featured,
a.sp-btn-price--featured {
  background: var(--accent) !important;
  color: #000 !important;
  border-color: var(--accent) !important;
  box-shadow: 0 0 20px rgba(0,255,136,0.35) !important;
}

.sp-btn-price--featured:hover,
a.sp-btn-price--featured:hover {
  box-shadow: 0 0 32px rgba(0,255,136,0.55) !important;
  opacity: 0.92 !important;
}

/* END TASK #88 */

/* ═══════════════════════════════════════════════════════════════════
   TASK #89 — Code Blocks: Liquid Glass + Copy Buttons
   ═══════════════════════════════════════════════════════════════════ */

/* ── Liquid glass code box wrapper ──────────────────────────────── */
.zq-codebox {
  position: relative;
  background: rgba(10, 14, 20, 0.72) !important;
  border: 1px solid rgba(0, 255, 136, 0.15) !important;
  border-radius: 6px !important;
  overflow: hidden;
  margin: 1.25rem 0 !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

.zq-codebox-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem 1rem;
  background: rgba(0, 255, 136, 0.04);
  border-bottom: 1px solid rgba(0, 255, 136, 0.1);
}

.zq-codebox-dots {
  display: flex;
  gap: 5px;
  flex-shrink: 0;
}

.zq-codebox-dots span {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
}

.zq-codebox-dots span:first-child { background: rgba(255, 94, 87, 0.5); }
.zq-codebox-dots span:nth-child(2) { background: rgba(255, 190, 46, 0.5); }
.zq-codebox-dots span:last-child { background: rgba(0, 255, 136, 0.5); }

.zq-codebox-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.72rem;
  color: rgba(0, 255, 136, 0.6);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex: 1;
}

.zq-codebox pre {
  margin: 0 !important;
  padding: 1.25rem !important;
  background: transparent !important;
  overflow-x: auto;
  font-family: 'JetBrains Mono', 'Fira Code', monospace !important;
  font-size: 0.83rem !important;
  line-height: 1.65 !important;
  color: #b8f5d8 !important;
  border: none !important;
  border-radius: 0 !important;
}

/* ── Copy button — used by zq-codebox.js and mcp.html ───────────── */
.zq-copy-btn,
.mcp-copy-btn {
  margin-left: auto;
  background: rgba(0, 255, 136, 0.08) !important;
  border: 1px solid rgba(0, 255, 136, 0.25) !important;
  color: rgba(0, 255, 136, 0.85) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  padding: 0.3rem 0.85rem !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: background 0.15s, border-color 0.15s, color 0.15s !important;
  white-space: nowrap;
  flex-shrink: 0;
}

.zq-copy-btn:hover,
.mcp-copy-btn:hover {
  background: rgba(0, 255, 136, 0.18) !important;
  border-color: rgba(0, 255, 136, 0.5) !important;
  color: #00ff88 !important;
}

.zq-copy-btn--copied,
.zq-copy-btn--copied:hover {
  background: rgba(0, 255, 136, 0.22) !important;
  border-color: rgba(0, 255, 136, 0.6) !important;
  color: #00ff88 !important;
}

/* ── Existing code-block/docs-code-block glass upgrade ────────────── */
.code-block,
.docs-code-block,
.a4-code-block,
.a4-mcp-block,
.mcp-code-wrap {
  background: rgba(10, 14, 20, 0.72) !important;
  border: 1px solid rgba(0, 255, 136, 0.15) !important;
  border-radius: 6px !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35) !important;
  overflow: hidden !important;
  position: relative !important;
}

/* ── a4-pre copy button positioning ────────────────────────────────── */
.a4-code-block,
.a4-mcp-block {
  position: relative !important;
}

/* ── proto-pre liquid glass ────────────────────────────────────────── */
pre.proto-pre {
  background: rgba(10, 14, 20, 0.72) !important;
  border: 1px solid rgba(0, 255, 136, 0.15) !important;
  border-radius: 6px !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255,255,255,0.04) !important;
  padding: 1.25rem !important;
  color: #b8f5d8 !important;
}

/* ── math-eq-block liquid glass ───────────────────────────────────── */
.math-eq-block {
  background: rgba(10, 14, 20, 0.72) !important;
  border: 1px solid rgba(0, 255, 136, 0.15) !important;
  border-radius: 6px !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255,255,255,0.04) !important;
  position: relative !important;
}

pre.math-eq {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 1rem 1.25rem !important;
  color: #b8f5d8 !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 0.83rem !important;
  line-height: 1.65 !important;
  overflow-x: auto !important;
  margin: 0 !important;
}

/* Code block headers (mcp.html .mcp-code-header style) */
.mcp-code-header,
.docs-code-tabs {
  background: rgba(0, 255, 136, 0.04) !important;
  border-bottom: 1px solid rgba(0, 255, 136, 0.1) !important;
  padding: 0.6rem 1rem !important;
}

/* Inline <code> tag styling — excludes code inside pre, codeboxes, and syntax-highlighted blocks */
:not(pre) > code:not([class]),
:not(pre) > code.mono,
:not(pre) > code.qz-code,
.qz-code:not(pre):not([class*="language-"]) {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 0.85em !important;
  color: #00ff88 !important;
  background: rgba(0, 255, 136, 0.08) !important;
  border: 1px solid rgba(0, 255, 136, 0.15) !important;
  border-radius: 3px !important;
  padding: 0.1em 0.4em !important;
}

/* END TASK #89 */

/* ═══════════════════════════════════════════════════════════════════
   TASK #90 — Polish: SVG Icons, Margins, Layout Consistency
   ═══════════════════════════════════════════════════════════════════ */

/* ── SVG icon placeholders in cards ─────────────────────────────── */
.cs-service-icon svg,
.ent-cap-icon svg,
.contact-method-icon svg,
.tool-card-glyph svg {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.cs-service-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  margin-bottom: 0.75rem !important;
}

.ent-cap-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
}

.contact-method-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  flex-shrink: 0 !important;
}

.tool-card-glyph {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 0.75rem !important;
}

/* ── Consistent section spacing across all pages ──────────────────── */
.qz-sect {
  padding-top: 3.5rem !important;
  padding-bottom: 3.5rem !important;
}

.qz-sect--compact {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

/* ── Consistent section heading sizes ─────────────────────────────── */
.qz-sect-title {
  font-size: clamp(1.5rem, 3.5vw, 2.25rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  color: #fff !important;
  margin-bottom: 0.85rem !important;
}

/* Mid-page h2 headings (non-hero sections) */
.sect-title h2,
.sect-title h3 {
  font-size: clamp(1.4rem, 3vw, 2rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: #fff !important;
  letter-spacing: -0.02em !important;
}

/* ── Card padding — scoped only to known card types, not global .card */
.plan-card,
.paper-card,
.support-card,
.inv-metric-card,
.agent-arch-card,
.agent-use-card,
.build-track-card,
.prize-card,
.vision-phase-card,
.analogy-card,
.proto-card,
.skill-card,
.sec-control-card,
.disc-card,
.fw-layer,
.pricing-card,
.invest-card,
.demo-card {
  padding: 1.5rem !important;
}

.enterprise-card {
  padding: 2rem !important;
}

/* ── Consistent body paragraph spacing ───────────────────────────── */
p {
  margin-bottom: 1rem;
}

/* ── CTA section bottom margins across all pages ──────────────────── */
.cta-section,
.qz-cta-row,
[class*="cta"] .sect-main {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

/* ── Section descriptions ─────────────────────────────────────────── */
.sect-desc,
.qz-sect-tagline {
  font-size: 0.95rem !important;
  color: rgba(255, 255, 255, 0.55) !important;
  line-height: 1.7 !important;
  max-width: 640px !important;
}

/* ── Global spacing rhythm ────────────────────────────────────────── */
/* Standard section padding: 5rem top/bottom */
.qz-sect,
section.qz-sect {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

/* First section after hero gets extra top breathing room: 7rem */
.qz-sect:first-of-type,
section.qz-sect:first-of-type,
.sect-main > .qz-sect:first-child {
  padding-top: 7rem !important;
}

/* ── .qz-inner-hero — inner-page hero (min-height 340px) ──────────── */
.qz-inner-hero {
  min-height: 340px;
  display: flex;
  align-items: center;
  padding: 3.5rem 1.5rem 2.5rem;
  position: relative;
}

/* Inner-hero attribute fallback */
.qz-hero[style*="min-height:auto"] {
  min-height: 340px !important;
}

/* Container max-width */
.qz-sect-inner {
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

/* Card padding */
.qz-card,
.plan-card,
.support-card,
.iv-traction-card,
.vs-ft-card {
  padding: 1.75rem !important;
}

/* h2 bottom margin */
.qz-sect-title,
h2.qz-sect-title {
  margin-bottom: 0.85rem !important;
}

/* Section description spacing */
.sect-desc,
.qz-sect-tagline {
  margin-bottom: 2rem !important;
}

/* ── SVG icon colour system — icons inherit green from parent ────── */
/* Anywhere we place an icon wrapper with color:#00ff88, the SVG inherits */
.contact-method-icon,
.support-card [style*="width:28px"],
.card [style*="width:28px"],
.qz-card [style*="width:28px"],
.open-science-banner .icon {
  color: #00ff88;
}

/* ── Nav active state ─────────────────────────────────────────────── */
.nav-item.active > .nav-link,
.nav-item.active > a,
header nav a.active,
#site-nav .active > a,
.sl-nav a.active,
nav a[aria-current="page"] {
  color: var(--accent) !important;
}

/* ── Nav CTA "Start Free Trial" — solid filled green ──────────────── */
.sl-nav-cta.tf-btn--primary,
a.sl-nav-cta.tf-btn--primary {
  background: var(--accent) !important;
  color: #000 !important;
  border-color: var(--accent) !important;
  font-weight: 700 !important;
}

.sl-nav-cta.tf-btn--primary:hover,
a.sl-nav-cta.tf-btn--primary:hover {
  background: #00e077 !important;
  border-color: #00e077 !important;
}

/* ── CTA button consistency: btn-primary always green ─────────────── */
.btn.btn-primary,
a.btn.btn-primary,
button.btn-primary {
  background: var(--accent) !important;
  color: #000 !important;
  border-color: var(--accent) !important;
  font-weight: 700 !important;
}

.btn.btn-primary:hover,
a.btn.btn-primary:hover,
button.btn-primary:hover {
  background: #00e077 !important;
  border-color: #00e077 !important;
}

/* ── Utility classes to replace common inline margin/padding patterns ── */
/* These match the most-used inline style patterns from public pages */

/* Common section top padding overrides */
.qz-pt-sm  { padding-top: 2rem !important; }
.qz-pt-md  { padding-top: 3rem !important; }
.qz-pt-lg  { padding-top: 3.5rem !important; }
.qz-pt-xl  { padding-top: 5rem !important; }

.qz-pb-sm  { padding-bottom: 2rem !important; }
.qz-pb-md  { padding-bottom: 3rem !important; }
.qz-pb-lg  { padding-bottom: 3.5rem !important; }

/* Common text-align center containers */
.qz-center { text-align: center !important; margin: 0 auto !important; }

/* mb variants */
.qz-mb-0   { margin-bottom: 0 !important; }
.qz-mb-xs  { margin-bottom: 0.4rem !important; }
.qz-mb-sm  { margin-bottom: 0.75rem !important; }
.qz-mb-md  { margin-bottom: 1rem !important; }
.qz-mb-lg  { margin-bottom: 1.5rem !important; }
.qz-mb-xl  { margin-bottom: 2rem !important; }
.qz-mb-2xl { margin-bottom: 3rem !important; }

/* mt variants */
.qz-mt-0   { margin-top: 0 !important; }
.qz-mt-xs  { margin-top: 0.4rem !important; }
.qz-mt-sm  { margin-top: 0.75rem !important; }
.qz-mt-md  { margin-top: 1rem !important; }
.qz-mt-lg  { margin-top: 1.5rem !important; }
.qz-mt-xl  { margin-top: 2rem !important; }

/* max-width helpers */
.qz-mw-480 { max-width: 480px !important; }
.qz-mw-560 { max-width: 560px !important; }
.qz-mw-640 { max-width: 640px !important; }
.qz-mw-720 { max-width: 720px !important; }
.qz-mw-800 { max-width: 800px !important; }

/* ── Section-level inline override suppression ───────────────────── */
/* Override common inline padding/margin patterns on .qz-sect variants */
/* These CSS rules take precedence, removing the visual effect of inline */
/* style="padding:..." declarations on section elements. */

/* Alt sections (stats rows, etc.) — compact 3rem rhythm */
.qz-sect.qz-sect--alt {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

/* Sect-inner with custom max-width — normalize to system value */
.qz-sect-inner[style*="max-width:1100px"],
.qz-sect-inner[style*="max-width: 1100px"] {
  max-width: 1120px !important;
}

/* Center-aligned content blocks inside sections */
[style*="margin:0 auto"][style*="text-align:center"],
[style*="margin: 0 auto"][style*="text-align: center"] {
  text-align: center;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Common plan/support grid containers */
.plan-grid {
  margin-bottom: 1.5rem;
}

/* Support grid centering */
.support-grid {
  max-width: 800px;
  margin: 0 auto;
}

/* END TASK #90 */

/* ═══════════════════════════════════════════════════════════════════
   TASK #91 — UI Critical Fixes: Tint, Hacker Text, Layout, Glass
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. Physics-demo layout protection — explicit padding restoration ────── */
/* Scoped selectors restore each pd-* element's intended spacing.             */
/* We do NOT use a blanket "padding: unset" reset; instead we simply set the  */
/* correct padding on each selector that could be hit by earlier card rules.  */

.pd-panel-meta {
  margin-top: 8px !important;
  padding: 10px 12px !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 2px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  color: #475569 !important;
  line-height: 1.7 !important;
}

.pd-explain {
  background: rgba(0,255,136,0.03) !important;
  border: 1px solid rgba(0,255,136,0.15) !important;
  border-radius: 12px !important;
  padding: 24px 28px !important;
  margin-bottom: 28px !important;
}

.pd-controls {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  margin-bottom: 28px !important;
}

.pd-canvas-wrap {
  border-radius: 10px !important;
  overflow: hidden !important;
  line-height: 0 !important;
  padding: 0 !important;
}

.pd-canvas-wrap canvas {
  display: block !important;
  width: 100% !important;
  max-height: 360px !important;
  object-fit: contain !important;
}

.pd-page {
  max-width: 1040px !important;
  margin: 0 auto !important;
  padding: 32px 24px 80px !important;
}

/* Physics demo panel width — cap each canvas panel at 700px and center */
.pd-panels {
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 900px) {
  .pd-panels {
    max-width: 700px !important;
  }
}
.pd-canvas-wrap canvas {
  max-width: 700px !important;
  margin: 0 auto !important;
}

/* pd-cta-row, pd-constants, pd-constant, pd-explain-col have no class-based
   padding conflict — leave them unmodified to preserve inline-style spacing. */

/* ── 2. Z-index stack — grid, stars, tint, content ──────────────────── */
/* Layer order (bottom to top):
   body bg (#000)
   overlay_body: star-sky.webp animated background (qore original, z-index:0)
   qz-grid-bg: green grid lines (fixed, injected by app.js, z-index:1)
   page content (#wrapper and all children)
   qz-dark-tint: light black overlay (fixed, injected by app.js, z-index:9999) */
body::before {
  display: none !important;
}

#wrapper > .sect-header,
#wrapper > section,
#wrapper > .sect-main,
#wrapper > .sect-bottom,
.sect-main,
.qz-hero,
.qz-sect {
  position: relative !important;
  z-index: 3 !important;
}

/* Site nav and footer above starfield */
#site-nav,
#site-footer {
  position: relative !important;
  z-index: 10 !important;
}

/* br-line separators above starfield */
.br-line,
span.br-line {
  position: relative !important;
  z-index: 2 !important;
}

/* ── 3. Liquid glass for feature/comparison/CTA cards ──────────────────── */
/* Applied only to card classes that need the glass treatment — not .pd-* */
.qz-card,
.fw-feature-card,
.docs-step-row,
.mcp-panel-inner,
.ent-cap-card,
.agent-use-card,
.cs-service-card,
.vision-phase-card,
.proto-card,
.skill-card {
  background: rgba(10, 14, 20, 0.55) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(0, 255, 136, 0.1) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

/* Hover — accent border glow */
.qz-card:hover,
.fw-feature-card:hover,
.ent-cap-card:hover,
.cs-service-card:hover {
  border-color: rgba(0, 255, 136, 0.25) !important;
  box-shadow: 0 8px 32px rgba(0, 255, 136, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

/* Accent card variant stays green-tinted */
.qz-card--accent {
  background: rgba(0, 255, 136, 0.04) !important;
  border-color: rgba(0, 255, 136, 0.3) !important;
}

/* Plan cards — lighter glass (dark tint with faint green border) */
.plan-card {
  background: rgba(10, 14, 20, 0.6) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

.plan-card.featured {
  background: rgba(0, 255, 136, 0.05) !important;
  border-color: var(--accent) !important;
  box-shadow: 0 4px 32px rgba(0, 255, 136, 0.1) !important;
}

/* Support cards — slight green glass */
.support-card {
  background: rgba(0, 255, 136, 0.04) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* Stat cards glass */
.qz-stat-card {
  background: rgba(10, 14, 20, 0.55) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* ── 4. Hacker-text hover colour consistent ─────────────────────────── */
/* Already in qore-zeq.css but enforce with !important here for cascade safety */
[data-hacker-text]:hover {
  color: var(--accent) !important;
}

/* END TASK #91 */

/* ── Task #95 — 7 visual fixes ─────────────────────────────────────────── */

/* Fix 2: Hide vertical line_page border lines (qore-vendor.css creates them) */
.line_page,
.line_section {
  display: none !important;
}

/* Fix 4: Arrow-only scroll-to-top — no background, no border, no circle */
#goTop {
  position: fixed !important;
  bottom: 2rem !important;
  right: 1.5rem !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #00ff88 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 9999 !important;
  padding: 4px !important;
  /* keep qore's opacity/visibility toggle */
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
}
#goTop.show {
  opacity: 1 !important;
  visibility: visible !important;
}
#goTop:hover {
  opacity: 0.75 !important;
}
/* Hide the circular progress-ring */
#goTop .border-progress {
  display: none !important;
}
/* Replace icon with green up arrow glyph */
#goTop .icon {
  font-size: 0 !important;
  animation: none !important;
}
#goTop .icon::before {
  content: "↑" !important;
  font-size: 1.5rem !important;
  font-family: monospace !important;
  color: #00ff88 !important;
  line-height: 1 !important;
}

/* Fix 5: Constrain physics demo canvases — no full-viewport takeover */
.pd-panels {
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.pd-canvas-wrap {
  max-height: 360px !important;
  max-width: 700px !important;
  overflow: hidden !important;
}
.pd-canvas-wrap canvas {
  max-height: 360px !important;
  max-width: 100% !important;
  width: 100% !important;
  object-fit: contain !important;
}
#solar-physics-canvas {
  max-height: 360px !important;
  height: 360px !important;
  width: 100% !important;
}

/* END TASK #95 */

/* ═══════════════════════════════════════════════════════════════════════
   DEAD SPACE REDUCTION — homepage compaction (bottom → top)
   Overrides qore-vendor.css and earlier page-extras.css padding rules.
   ═══════════════════════════════════════════════════════════════════════ */

/* 1. Core section outer padding — reduced to compact values */
.section-hero,
.section-problem,
.section-discovery,
.section-architecture,
.section-benefit,
.section-benefit.benefit-2,
.section-compare,
.section-five-properties,
.section-solar-demo,
.section-pricing,
.section-cta,
.section-ecosystem,
.section-physics-demo,
.qz-sect {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

/* 2. sect-header row — very compact */
.sect-header {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  margin-bottom: 0 !important;
}

/* 3. Tagline s-name row — was 32px top/bottom */
.s-name {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

/* 4. sect-bottom marquee box — compact */
.sect-bottom .box-hacker {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}
@media (min-width: 768px) {
  .sect-bottom .box-hacker {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
}

/* 5. Section-pricing inner title — was 44px top / 91px bottom */
.section-pricing .sect-title {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  margin-top: 0 !important;
}
@media (max-width: 1199px) {
  .section-pricing .sect-title {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}

/* 6. Section-cta inner title — was 85px top / 46px bottom */
.section-cta .sect-title {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  margin-top: 0 !important;
}
@media (max-width: 1199px) {
  .section-cta .sect-title {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}

/* 7. sect-title margin/padding inside all custom sections
   CRITICAL: also reset margin-top — qore-vendor sets -119px / -111px
   on section-benefit and benefit-2 which creates a large visual gap */
.section-hero .sect-title,
.section-problem .sect-title,
.section-discovery .sect-title,
.section-architecture .sect-title,
.section-compare .sect-title,
.section-five-properties .sect-title,
.section-physics-demo .sect-title,
.section-benefit .sect-title,
.section-benefit.benefit-2 .sect-title,
.section-solar-demo .sect-title,
.section-ecosystem .sect-title {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
}

/* 8. s-title margin-bottom — was 21px */
.sect-title .s-title {
  margin-bottom: 8px !important;
}

/* 9. s-title.only-title margin — was 88px */
.s-title.only-title {
  margin-bottom: 20px !important;
}
@media (max-width: 1199px) {
  .s-title.only-title {
    margin-bottom: 14px !important;
  }
}

/* 10. s-sub_title — no extra spacing beyond its natural line-height */
.sect-title .s-sub_title {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 11. sect-main top padding — ensure no inherited top gap */
.section-benefit .sect-main,
.section-benefit.benefit-2 .sect-main {
  padding-top: 0 !important;
}

/* 12. grid-pricing inner padding — was 48px */
.grid-pricing {
  padding: 16px !important;
  padding-top: 0 !important;
}

/* 13. Equation ticker separator — qore-zeq.css sets margin: 2rem 0 (64px total) */
.qz-box-hacker-wrap {
  margin: 0.5rem 0 !important;
}

/* Inner-page hero — sitewide override for qz-inner-hero inline padding
   All inner pages use padding:3.5rem 1.5rem 2.5rem / 4.5rem 1.5rem 3.5rem inline */
.qz-inner-hero {
  padding-top: 1.75rem !important;
  padding-bottom: 1.25rem !important;
  min-height: auto !important;
}

/* 14. Inner-page content wrapper — container.page has inline padding-top:2.5rem on all
   inner pages (docs, faq, security, protocols, consulting, contact) */
.container.page {
  padding-top: 1.25rem !important;
}

/* 15. section-pricing-hero and other inner-page hero wrappers */
.section-pricing-hero {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

/* ═══ END DEAD SPACE REDUCTION ════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════
   HERO WIDTH EXPANSION
   qore-zeq.css caps .qz-hero-inner at 760px and .qz-hero-sub at 560px.
   Override to let the hero text and terminal box fill more of the viewport.
   ═══════════════════════════════════════════════════════════════════════ */

.qz-hero-inner {
  max-width: 860px !important;
}

.qz-hero-sub {
  max-width: 720px !important;
}

/* ═══ END HERO WIDTH EXPANSION ══════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════
   TASK 109 — Mobile, Tint & Animation Performance Fixes
   ═══════════════════════════════════════════════════════════════════════ */

/* ── 1. Dark tint overlay — reduce opacity from 0.45 → 0.40 sitewide ── */
#qz-dark-tint {
  background: rgba(0, 0, 0, 0.40) !important;
}

/* ── 2. DAILY LIMITS RESET bar — the separator line hides on mobile
         so there's no orphaned vertical rule when the row wraps ────── */
@media (max-width: 640px) {
  .qz-daily-sep {
    display: none;
  }
}

/* ── 3. Stat pillars (Operator Registry · KO42 · Precision) ─────────
         Switch from 3-column grid to single column below 768px ──── */
@media (max-width: 768px) {
  .qz-stat-pillars {
    grid-template-columns: 1fr !important;
  }
  .qz-stat-pillars > div {
    border-right: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }
  .qz-stat-pillars > div:last-child {
    border-bottom: none;
  }
}

/* ── 4. Pricing card text visibility — force all text inside .wg-plan
         to be light/white — overrides any dark qore-vendor defaults ── */

/* Feature list items */
.wg-plan .features_list li {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Check icon — SVG background-image; content:'' so no glyph competes for layout. */
.wg-plan .features_list li::before {
  content: '' !important;
  color: #00ff88 !important;
  background-image: url('/qore/icon/check.svg') !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

/* Plan type heading (e.g. "Starter", "Builder") */
.wg-plan .plan_type,
.wg-plan .plan_type * {
  color: #ffffff !important;
}

/* Price amount */
.wg-plan .price-amount {
  color: #ffffff !important;
}

/* Per month label */
.wg-plan .price-duration {
  color: rgba(255, 255, 255, 0.90) !important;
}

/* Plan description */
.wg-plan .plan-description {
  color: rgba(255, 255, 255, 0.90) !important;
}

/* "What's Included" label */
.wg-plan .feature_title,
.wg-plan .plan-feature .feature_title {
  color: #ffffff !important;
}

/* Any icon-font glyphs or <i> tags inside the card */
.wg-plan [class*="icon"],
.wg-plan i {
  color: #00ff88 !important;
}

/* ═══ END TASK 109 ══════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════
   TASK 110 — Grey Text Brightening Sweep
   Remaps all muted body/description text to higher opacity values.
   Excluded intentionally: demo-result-label, proto-plan, demo-footnote,
   code-wrap-label, demo-mastersum, pdm-op-domain, inv-metric-label,
   and all terminal inline styles (dim text is part of their aesthetic).
   ═══════════════════════════════════════════════════════════════════════ */

/* ── 0.4–0.5 range → 0.70 ─────────────────────────────────────────── */
.agent-arch-desc,
.agent-use-desc,
.build-track-desc,
.prize-desc,
.phase-desc,
.vision-principle span,
.paper-authors,
.paper-abstract,
.stat-strip-label,
.inv-pillar-desc,
.inv-revenue-desc,
.pdgm-row-label,
.analogy-from,
.analogy-desc,
.demo-desc,
.sec-control-desc,
.fw-layer-desc,
.fw-flow-desc,
.eq-desc,
.skill-desc,
.cs-service-desc,
.cs-engage-sub,
.cs-why-text span,
.ent-cap-desc,
.sect-cta-block p,
.pric-enterprise-desc,
.hite-step-desc,
.cp-diff-body,
.pdm-formula-sub,
.pdm-ex-body,
.pdm-impl-body,
.price-per,
.const-name {
  color: rgba(255, 255, 255, 0.70) !important;
}

/* ── 0.55–0.65 range → 0.82 ─────────────────────────────────────────── */
.timeline-event,
.glossary-term-def,
.disc-desc,
.proto-desc,
.docs-step-body p,
.plan-feature,
.security-list,
.sec-pillar-body,
.pdm-op-what,
.pdm-pillar-body,
.pdm-body,
.legal-prose {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* ── T87 body text block (was 0.58) → 0.85 ──────────────────────────── */
.sect-main p:not(.s-number_order):not(.s-label):not(.hacker-text):not(.plan-description):not(.cta-sub),
.sect-main .text-body-2,
.sect-main .text-body-3,
.s-sub_title,
.sect-title .s-sub_title,
.sect-desc,
.cta-sub,
.cta-sub-nomax,
.vs-body,
.sp-ps-lead,
.pdm-closing-body,
.a4-cta-sub,
.iv-body,
.math-section-desc,
.pd-lead {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* ═══ END TASK 110 ══════════════════════════════════════════════════════ */

/* ═══ FOOTER — sl-footer / tf-footer layout & colours ═══════════════════ */

.sl-footer {
  background: #060912;
  border-top: 1px solid rgba(0, 255, 136, 0.12);
  color: rgba(255, 255, 255, 0.75);
  font-family: 'JetBrains Mono', monospace;
}

.sl-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 3.5rem 2rem 2.5rem;
  display: flex;
  gap: 3rem;
  flex-wrap: wrap;
}

/* Brand column */
.sl-footer-brand {
  flex: 0 0 220px;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.sl-footer-logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #ffffff !important;
}

.sl-footer-logo-sep {
  display: inline-block;
  width: 4px;
  height: 4px;
  background: #00ff88;
  border-radius: 50%;
  margin: 0 2px;
}

.sl-mandelbrot-img {
  width: 26px;
  height: 26px;
}

.sl-footer-tagline {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.55) !important;
  line-height: 1.6;
  letter-spacing: 0.02em;
  margin: 0;
}

.sl-footer-zeqond {
  font-size: 0.68rem;
  color: rgba(0, 255, 136, 0.6) !important;
  letter-spacing: 0.1em;
  margin-top: 0.25rem;
}

/* Link columns grid */
.sl-footer-cols {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

.sl-footer-col {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.sl-footer-col h4 {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  margin: 0 0 0.35rem !important;
  padding: 0 !important;
  font-family: 'JetBrains Mono', monospace !important;
}

.sl-footer-col a {
  font-size: 0.78rem !important;
  color: rgba(255, 255, 255, 0.6) !important;
  text-decoration: none !important;
  letter-spacing: 0.03em;
  transition: color 0.15s;
  font-family: 'JetBrains Mono', monospace;
}

.sl-footer-col a:hover {
  color: #00ff88 !important;
}

/* Bottom bar */
.sl-footer-bar {
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1.25rem 2rem;
  max-width: 1200px;
  margin: 0 auto;
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.4) !important;
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.04em;
}

.sl-footer-bar p {
  margin: 0;
  color: rgba(255, 255, 255, 0.4) !important;
}

.sl-footer-legal {
  display: flex;
  gap: 1.25rem;
}

.sl-footer-legal a {
  color: rgba(255, 255, 255, 0.4) !important;
  text-decoration: none !important;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  transition: color 0.15s;
}

.sl-footer-legal a:hover {
  color: #00ff88 !important;
}

/* Responsive */
@media (max-width: 900px) {
  .sl-footer-cols {
    grid-template-columns: repeat(2, 1fr);
  }
  .sl-footer-inner {
    flex-direction: column;
    gap: 2rem;
  }
  .sl-footer-brand {
    flex: none;
  }
}

@media (max-width: 540px) {
  .sl-footer-cols {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  .sl-footer-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}

/* ═══ END FOOTER ═════════════════════════════════════════════════════════ */

/* ── COPY button pulse glow ── */
@keyframes zeq-pulse-glow {
  0%,100% { box-shadow: 0 0 0 0 rgba(0,255,136,0); }
  50%      { box-shadow: 0 0 14px 6px rgba(0,255,136,0.75); }
}
#zeq-demo-key-btn {
  animation: zeq-pulse-glow 2s ease-in-out infinite;
  white-space: nowrap;
}

/* ── Task #126 — Remove s-meta vertical | bars ───────────────────────── */
.s-meta::before,
.s-meta::after {
  content: none !important;
  display: none !important;
}

/* ── Task #126 — Large-screen max-width caps for nav & footer ─────────── */
.sl-nav {
  display: block;
  padding: 0;
}
.sl-nav-inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0 1.5rem;
  height: 100%;
}
.sl-footer-inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* ── Task #126 — Language carousel animation ─────────────────────────── */
@keyframes qz-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.qz-lang-carousel {
  overflow: hidden;
  width: 100%;
  padding: 2rem 0;
  border-top: 1px solid rgba(0,255,136,0.12);
  border-bottom: 1px solid rgba(0,255,136,0.08);
  background: rgba(0,0,0,0.25);
}
.qz-lang-caption {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(0,255,136,0.55);
  text-align: center;
  margin-bottom: 1.25rem;
}
.qz-lang-track {
  display: inline-flex;
  gap: 2.5rem;
  animation: qz-marquee 40s linear infinite;
  white-space: nowrap;
  will-change: transform;
}
.qz-lang-carousel:hover .qz-lang-track {
  animation-play-state: paused;
}
.qz-lang-item {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  flex-shrink: 0;
}
.qz-lang-item svg {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}
.qz-lang-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.55rem;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.45);
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .qz-lang-caption { font-size: 0.58rem; }
  .qz-lang-item svg { width: 32px; height: 32px; }
  .qz-lang-track { gap: 2rem; animation-duration: 30s; }
}

