/*
Theme Name: LexEdgeAI
Theme URI: https://lexedge.ai
Author: LexEdgeAI
Author URI: https://lexedge.ai
Description: A custom, light-weight, clean blank theme optimized for SCF Page Builder.
Version: 1.0.0
Text Domain: lexedgeai
*/

/* =========================================================
   LexEdge — Editorial SaaS for legal practice
   Deep black — authority, precision, legal weight.
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700;800&family=Geist+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&display=swap');

:root {
    /* —— Surfaces —— */
    --paper: #001a2a;
    /* page background — deep black */
    --paper-2: #011522;
    /* section alternate — slightly lighter */
    --paper-3: #011522;
    /* card surfaces */
    --white: #011522;
    /* card surface (replaces literal white) */
    --ink: #e2ddd5;
    /* primary text — warm off-white */
    --ink-2: #d4cec5;
    /* secondary ink — slightly dimmer */
    --ink-3: #c5c0b6;
    /* tertiary ink */

    /* —— Type —— */
    --pen: #e2ddd5;
    --pen-2: #dddee0;
    /* secondary text */
    --pen-3: #58637a;
    /* muted */
    --pen-4: #3d4660;
    /* very muted */
    --rule: rgba(255, 255, 255, 0.10);
    --rule-2: rgba(255, 255, 255, 0.03);

    /* —— Accents —— */
    --signal: #05c3dd;
	--signal-bg: linear-gradient(135deg, #0A4D68 0%, #05C3DD 100%);
	--accent: #4888AE;
    /* emerald — brighter on dark */
    --signal-2: #0e9568;
    --signal-soft: rgba(19, 184, 126, 0.12);
    --signal-glow: rgba(19, 184, 126, 0.28);

    --heritage: #c49a3f;
    /* gold — legal tradition */
    --heritage-2: #a07c2f;
    --heritage-soft: rgba(196, 154, 63, 0.12);

    --ink-soft: rgba(226, 221, 213, 0.2);

    --danger: #EE8A82;
    --danger-soft: rgba(224, 92, 84, 0.12);

    /* —— Type families —— */
    --sans: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --serif: 'Instrument Serif', 'Times New Roman', serif;
    --mono: 'Geist Mono', 'SF Mono', Menlo, monospace;

    /* —— Motion —— */
    --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html,
body {
    background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}

html {
    scroll-behavior: smooth;
}

.page-id-19 .page-header,
.page-id-1418 .page-header,
.page-id-1600 .page-header,
.page-id-1751 .page-header,
.page-id-1754 .page-header,
.page-id-1814 .page-header,
.page-id-1877 .page-header,
.page-id-1906 .page-header,
.page-id-31565 .page-header,
.page-id-31566 .page-header,
.page-id-31567 .page-header,
.page-id-31568 .page-header,
.page-id-31569 .page-header,
.page-id-31781 .page-header,
.page-id-32023 .page-header,
.page-id-32034 .page-header,
.page-id-32038 .page-header,
.page-id-32051 .page-header,
.page-id-32056 .page-header,
.page-id-32059 .page-header,
.page-id-32070 .page-header,
.page-id-32099 .page-header{
	display: none !important; 
}

.page-id-19 .keydesign-container.e-con,
.page-id-1418 .keydesign-container.e-con,
.page-id-1600 .keydesign-container.e-con,
.page-id-1751 .keydesign-container.e-con,
.page-id-1754 .keydesign-container.e-con,
.page-id-1814 .keydesign-container.e-con,
.page-id-1877 .keydesign-container.e-con,
.page-id-1906 .keydesign-container.e-con,
.page-id-31565 .keydesign-container.e-con,
.page-id-31566 .keydesign-container.e-con,
.page-id-31567 .keydesign-container.e-con,
.page-id-31568 .keydesign-container.e-con,
.page-id-31569 .keydesign-container.e-con,
.page-id-31781 .keydesign-container.e-con,
.page-id-32023 .keydesign-container.e-con,
.page-id-32034 .keydesign-container.e-con,
.page-id-32038 .keydesign-container.e-con,
.page-id-32051 .keydesign-container.e-con,
.page-id-32056 .keydesign-container.e-con,
.page-id-32059 .keydesign-container.e-con,
.page-id-32070 .keydesign-container.e-con,
.page-id-32099 .keydesign-container.e-con{
	display: block;
    margin: 0;
    padding: 0;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover{
	color: inherit !important;
}

li strong , table strong{
	color: inherit;
}

button {
    font-family: inherit;
    cursor: pointer;
}

img,
svg {
    display: block;
    max-width: 100%;
}

ul{
    margin-bottom: 0;
    padding-left: 0;
}

::selection {
    background: var(--signal);
    color: white;
}

/* —— Type scale —— */
.eyebrow {
    font-family: var(--mono);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-3);
}

.eyebrow-signal {
    color: var(--signal);
}

.eyebrow-heritage {
    color: var(--heritage);
}

h1,
h2,
h3,
h4 {
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.05;
    color: var(--ink);
}

.h-display {
    font-size: clamp(2.5rem, 6.5vw, 4.5rem);
    font-weight: 500;
    letter-spacing: -0.035em;
    line-height: 1;
}

.h-display em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.02em;
}

.h-1 {
    font-size: clamp(2.375rem, 4vw, 3.25rem);
    letter-spacing: -0.03em;
    line-height: 1.05;
}

.h-1 em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
}

.h-2 {
    font-size: clamp(1.5rem, 3vw, 2.5rem);
    letter-spacing: -0.025em;
}

.h-2 em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
}

.h-3 {
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: -0.015em;
}

.lede {
    font-size: clamp(1.05rem, 1.4vw, 1.2rem);
    color: var(--pen-2);
    line-height: 1.5;
    max-width: 62ch;
}

.lede p{
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
}

.muted {
    color: var(--pen-3);
}

.mono {
    font-family: var(--mono);
}

.serif-italic {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
    letter-spacing: -0.01em;
}

/* —— Layout —— */
.container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 1.75rem;
}

section {
    position: relative;
    padding: clamp(50px, 6vw, 80px) 0;
}

.rule {
    height: 1px;
    background: var(--rule);
    width: 100%;
}

/* =========================================================
   Top bar
   ========================================================= */
.topbar {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(10, 12, 17, 0.88);
    backdrop-filter: saturate(140%) blur(14px);
    -webkit-backdrop-filter: saturate(140%) blur(14px);
    border-bottom: 1px solid var(--rule);
    padding: 1.6rem 0;
}

.topbar-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    gap: 24px;
}

.brand {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-width: 0;
}

.brand-logo {
    width: auto;
    height: 60px !important;
    max-width: 180px !important;
    object-fit: contain;
}

.nav {
    display: flex;
    align-items: center;
    gap: 4px;
}

.nav li a {
    font-size: 1rem;
    color: var(--pen-2);
    padding: 8px 14px;
    border-radius: 8px;
    transition: color 0.2s, background 0.2s;
    white-space: nowrap;
}

.nav li a:hover {
    color: #fff;
    background: var(--rule-2);
}

.nav li a.active {
    color: #fff;
    background: var(--paper-2);
}

.nav li a:focus{
	color: #fff;
}

.nav-link {
    font-size: 1rem;
    color: var(--pen-2);
    padding: 8px 14px;
    border-radius: 8px;
    transition: color 0.2s, background 0.2s;
    white-space: nowrap;
}

.nav-actions {
    display: inline-flex;
    gap: 10px;
    align-items: center;
}

.mobile-nav {
    display: none;
}

.mobile-nav summary {
    width: 42px;
    height: 42px;
    border: 1px solid var(--rule);
    border-radius: 10px;
    background: var(--paper-2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    list-style: none;
}

.mobile-nav summary::-webkit-details-marker {
    display: none;
}

.mobile-nav summary span {
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: var(--ink);
    transition: transform 0.2s, opacity 0.2s;
}

.mobile-nav[open] summary span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.mobile-nav[open] summary span:nth-child(2) {
    opacity: 0;
}

.mobile-nav[open] summary span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.mobile-nav-panel {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    background: rgba(10, 12, 17, 0.98);
    border-bottom: 1px solid var(--rule);
    padding: 14px 28px 22px;
    display: grid;
    gap: 8px;
    box-shadow: 0 22px 40px -30px rgba(0, 0, 0, 0.8);
	list-style: none;
}

.mobile-nav-panel li a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 10px;
    color: var(--pen-2);
    font-size: 1rem;
}

.mobile-nav-panel li a.active,
.mobile-nav-panel li a:hover {
    color: #fff;
    background: var(--paper-2);
}

.mobile-nav-link {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 10px;
    color: var(--pen-2);
    font-size: 1rem;
}

.mobile-nav-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--rule);
}

/* =========================================================
   Buttons
   ========================================================= */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 18px;
    font-size: 0.92rem;
    font-weight: 500;
    border-radius: 10px;
    border: 1px solid transparent;
    transition: transform 0.15s var(--ease), background 0.2s, color 0.2s, box-shadow 0.2s;
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn:active {
    transform: translateY(0);
}

.btn-primary {
    background: var(--ink);
    color: var(--paper);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 6px 18px -8px rgba(13, 17, 23, 0.5);
}

.btn-primary:hover {
    background: var(--ink-2);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 10px 22px -8px rgba(13, 17, 23, 0.55);
}

.btn-primary i{
	color: inherit;
}

.btn-signal {
    background: var(--signal-bg) !important;
    color: white !important;
    box-shadow: 0 6px 18px -8px var(--signal-glow);
	border: 0;
}

.btn-signal:hover {
    background: var(--signal-bg);
}

.btn-signal i{
	color: white !important;
}

.btn-ghost {
    background: transparent;
    color: var(--ink);
    border-color: rgba(255, 255, 255, 0.40);
}

.btn-ghost:hover {
    /* background: var(--rule-2); */
    background: rgba(255, 255, 255, 0.40);
}

.btn-lg {
    padding: 14px 22px;
    font-size: 1rem;
    border-radius: 12px;
}

.btn-sm {
    padding: 8px 12px;
    font-size: 1rem;
    border-radius: 8px;
}

/* —— Pricing pill (used in hero & CTAs) —— */
.price-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 6px 6px 6px 14px;
    border: 1px solid var(--rule);
    border-radius: 100px;
    background: var(--white);
    font-size: 0.85rem;
    color: var(--pen-2);
}

.price-pill strong {
    color: var(--ink);
    font-weight: 600;
}

.price-pill .price-cta {
    background: var(--ink);
    color: var(--paper);
    padding: 6px 12px;
    border-radius: 100px;
    font-weight: 500;
    font-size: 0.82rem;
}

/* =========================================================
   Editorial chrome — chapter numbers, rules, footnotes
   ========================================================= */
.chapter-row {
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: var(--mono);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-2);
    margin-bottom: 28px;
}

.chapter-row>span {
    white-space: nowrap;
}

.chapter-row::before,
.chapter-row::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--pen-3);
}

.chapter-row::before {
    flex: 0 0 28px;
}



.footnote {
    font-size: 0.78rem;
    color: var(--pen-3);
    font-family: var(--mono);
}

/* —— Card primitives —— */
.card {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: 24px;
}

.card-dark {
    background: var(--paper-3);
    color: var(--ink);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    padding: 24px;
}

/* =========================================================
   Hero
   ========================================================= */
.hero {
    padding-top: clamp(48px, 6vw, 88px);
    padding-bottom: clamp(48px, 6vw, 96px);
}

.hero-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 48px;
    align-items: start;
}

.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px 6px 8px;
    border: 1px solid var(--rule);
    border-radius: 100px;
    background: var(--white);
    font-family: var(--mono);
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pen-2);
    margin-bottom: 24px;
}

.hero-eyebrow .dot {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--signal);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-family: var(--sans);
    font-size: 10px;
}

.hero-headline {
    margin-bottom: 24px;
}

/* ── Trust band ─────────────────────────────────────────── */
.trust-band {
    padding: 36px 0 0;
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    background: var(--paper-2);
    overflow: hidden;
}

.trust-band-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    padding-bottom: 24px;
}

.trust-stat {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.trust-stat-num {
    font-family: var(--serif);
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -0.03em;
}

.trust-stat-label {
    font-family: var(--mono);
    font-size: 1rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-2);
}

.trust-cities {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.trust-city {
    font-family: var(--mono);
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pen-2);
    border: 1px solid var(--pen-3);
    border-radius: 20px;
    padding: 3px 10px;
    background: var(--paper);
}

.trust-marquee-wrap {
    position: relative;
    overflow: hidden;
    border-top: 1px solid var(--rule);
    padding: 14px 0;
    mask-image: linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
}

.trust-marquee-track {
    display: flex;
    gap: 0;
    width: max-content;
    animation: marquee-scroll 40s linear infinite;
}

.trust-marquee-wrap:hover .trust-marquee-track {
    animation-play-state: paused;
}

@keyframes marquee-scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

.trust-firm {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 28px;
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.2rem;
    color: var(--pen-2);
    white-space: nowrap;
}

.trust-firm-dot {
    font-size: 0.4rem;
    color: var(--pen-3);
    font-style: normal;
    vertical-align: middle;
}

/* ── Hero sub ────────────────────────────────────────────── */
.hero-sub {
    font-size: 1.18rem;
    color: var(--pen-2);
    line-height: 1.5;
    max-width: 52ch;
    margin-bottom: 32px;
}

.hero-sub p {
    margin: 0 0 0.9em;
	font-size: 1.18rem;
}

.hero-sub p:last-child {
    margin-bottom: 0;
}

.hero-sub-cta {
    font-size: 1.2rem;
    color: var(--signal);
    font-weight: 600;
    margin-top: 0.4em;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-bottom: 28px;
}

.hero-actions .btn{
	padding: 14px 28px;
    font-size: 1.125rem;
}

.hero-bullets {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    font-size: 1rem;
    color: var(--pen-2);
}

.hero-bullet {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.hero-bullet .check {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--signal-soft);
    color: var(--signal);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
}

/* Hero button icons */
.btn .btn-ic {
    width: 14px;
    height: 14px;
    margin-left: 6px;
}

/* =========================================================
   USP Section
   ========================================================= */
.usp-head {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 48px;
    align-items: start;
    margin-bottom: 40px;
}

.usp-hero-content p {
    margin-top: 12px;
    font-size: 1rem;
    line-height: 1.55;
    max-width: 46ch;
}

.usp-hero-actions {
    display: flex;
    gap: 12px;
    margin-top: 20px;
    flex-wrap: wrap;
}

.usp-hero-checklist {
    margin-top: 20px;
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    font-family: var(--mono);
    font-size: 0.8rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

/* =========================================================
   Modules/Toolkit Section
   ========================================================= */
.modules-head {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 48px;
}

.phone-status span:last-child {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    font-family: var(--mono);
    font-size: 10px;
}

/* =========================================================
   Gallery/Inside LexEdge Section
   ========================================================= */
.gal-head {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 40px;
}

/* =========================================================
   Input Section
   ========================================================= */
.input-head {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 40px;
}

.input-description {
    margin-bottom: 16px;
}

/* =========================================================
   Migration Section
   ========================================================= */
.migration-steps {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.migration-step {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 18px;
    align-items: flex-start;
}

.migration-step-number {
    width: 45px;
    height: 45px;
    border-radius: 8px;
    background: var(--heritage-soft);
    color: var(--heritage-2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.4rem;
    font-weight: 400;
    border: 1px solid rgba(184, 137, 63, 0.3);
}

.migration-step-title {
    font-size: 1.125rem;
    font-weight: 500;
    margin-bottom: 4px;
    letter-spacing: -0.01em;
}

.migration-step-description {
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.5;
}

/* =========================================================
   Trust Layer Section
   ========================================================= */
.trust-layer-info-grid {
    gap: 16px;
}

.trust-layer-info-card {
    padding: 14px 16px;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 10px;
}

.trust-layer-info-label {
    font-family: var(--monos);
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-2);
    margin-bottom: 4px;
}

.trust-layer-info-value {
    font-size: 1rem;
    color: var(--ink);
    letter-spacing: -0.005em;
}

/* =========================================================
   Drafting Section
   ========================================================= */
.drafting-bullets {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.drafting-bullet {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.drafting-bullet-icon {
    width: 28px;
    height: 28px;
    border-radius: 4px;
    background: var(--signal-soft);
    color: var(--signal);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 0.875rem;
    font-weight: 700;
}

.drafting-bullet-text {
    color: var(--pen-2);
    font-size: 1rem;
}

/* =========================================================
   Rest Section
   ========================================================= */
.rest-section {
    padding-top: 64px;
}

.rest-title {
    margin-bottom: 12px;
}

.rest-description {
    margin-bottom: 48px;
}

.feature-cell .ico {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.5rem;
}

/* =========================================================
   FAQ Section
   ========================================================= */
.faq-chapter-row {
    margin-bottom: 8px;
}

/* =========================================================
   CTA Section
   ========================================================= */
.cta-section {
    padding-bottom: 40px;
}

.cta-container {
    background: var(--paper-3);
    color: var(--ink);
    border: 1px solid var(--rule);
    border-radius: 24px;
    padding: clamp(48px, 7vw, 96px);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.cta-background {
    position: absolute;
    inset: 0px;
    background: radial-gradient(60% 40% at 50% 0%, rgb(5 195 221 / 15%), transparent 70%);
    pointer-events: none;
}

.home-cta-content {
    position: relative;
    max-width: 85%;
    margin: 0px auto;
}

.cta-eyebrow {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.1);
    margin-bottom: 24px;
}

.cta-description {
    margin: 24px auto 32px;
}

.cta-form {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.cta-input-wrapper {
	position: relative;
}

.cta-input-wrapper p{
	display: flex;
    align-items: center;
	justify-content: space-between;
    gap: 8px;
	background: rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 4px;
    border: 1px solid rgba(255, 255, 255, 0.1);
	margin-bottom: 0;
}

.cta-input-wrapper input.wpcf7-form-control {
    background: transparent;
    border: none;
    color: var(--ink);
    padding: 10px 14px;
    font-size: 0.95rem;
    outline: none;
	min-width: 260px;
    width: 260px;
    font-family: inherit;
}

.cta-input-wrapper .btn-signal {
    background: var(--signal) !important;
    color: white !important;
	border-radius: 10px !important;
}

.cta-input-wrapper .wpcf7-submit{
	padding: 11px 18px !important;
    font-size: 0.92rem !important;
	border: 1px solid transparent !important;
	cursor: pointer;
	width: auto !important;
	min-width: auto !important;
}

.cta-input-wrapper .wpcf7-spinner{
	position: absolute;
	right: 0;
    bottom: -45%;
}

.cta-input-wrapper .wpcf7-not-valid-tip{
	position: absolute;
    bottom: -31px;
}

.cta-form .wpcf7-response-output{
	margin-top: 20px !important;
}

.cta-footer {
    margin-top: 24px;
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
    font-family: var(--mono);
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* =========================================================
   Bench Section
   ========================================================= */
.bench-section {
    padding-top: 96px;
}

.orch-head-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.orch-head-link {
    color: rgba(246, 243, 236, 0.7);
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.orch-card-action-label,
.orch-card-out-label {
    font-size: 11px;
    color: rgba(246, 243, 236, 0.5);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.orch-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--signal), #5dd3a1);
    border-radius: 2px;
    transition: width 0.6s var(--ease);
    box-shadow: 0 0 12px var(--signal-glow);
}

/* =========================================================
   Phone Mockup
   ========================================================= */
.phone-tile-empty .phone-tile-ico {
    background: transparent;
    border: 1px dashed rgba(255, 255, 255, 0.15);
}

.phone-tile-empty .phone-tile-ico span {
    font-size: 14px;
}

.phone-tile-empty .phone-tile-name {
    font-size: 10px;
}

/* Hero visual — split paper/digital */
/* .hero-visual {
    position: relative;
    height: 85%;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--rule);
    background: var(--white);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.05) inset,
        0 24px 48px -24px rgba(13, 17, 23, 0.18);
} */

.hero-visual img{
	width: 100%
}

/* =========================================================
   Section: How it works (paper → digital metaphor)
   ========================================================= */
.transition-stage {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 80px 1fr;
    gap: 0;
    align-items: stretch;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 24px;
    overflow: hidden;
    min-height: 460px;
}

.side {
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
}

.side-paper {
    background:
        linear-gradient(180deg, #faf6ea 0%, #f1ebda 100%);
}

.side-paper .paper-lines {
    position: absolute;
    inset: 96px 32px 32px 32px;
    background:
        repeating-linear-gradient(to bottom,
            transparent 0 22px,
            rgba(13, 17, 23, 0.08) 22px 23px);
    pointer-events: none;
}

.side-digital {
    background: var(--paper-2);
    color: var(--ink);
}

.side-digital .digital-grid {
    position: absolute;
    inset: 96px 32px 32px 32px;
    background:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px) 0 0 / 24px 24px,
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px) 0 0 / 24px 24px;
    pointer-events: none;
    mask: linear-gradient(180deg, transparent 0%, black 30%, black 100%);
}

.side h4 {
    font-family: var(--mono);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--pen-3);
    margin-bottom: 4px;
}

.side-digital h4 {
    color: rgba(255, 255, 255, 0.6);
}

.side h3 {
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: -0.02em;
}

.transition-mid {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--paper);
    position: relative;
}

.transition-mid::before,
.transition-mid::after {
    content: '';
    position: absolute;
    width: 1px;
    height: 100%;
    background: var(--rule);
    top: 0;
}

.transition-mid::before {
    left: 0;
}

.transition-mid::after {
    right: 0;
}

.scan-beam {
    width: 6px;
    border-radius: 6px;
    background: linear-gradient(180deg, transparent, var(--signal) 30%, var(--signal) 70%, transparent);
    height: 70%;
    box-shadow: 0 0 24px var(--signal-glow), 0 0 8px var(--signal);
    animation: scan 3.2s ease-in-out infinite;
}

@keyframes scan {

    0%,
    100% {
        transform: translateY(-10%);
        opacity: 0.7;
    }

    50% {
        transform: translateY(10%);
        opacity: 1;
    }
}

/* =========================================================
   Multi-agent orchestrator
   ========================================================= */
.orch-shell {
    background: var(--paper-2);
    color: var(--ink);
    border-radius: 24px;
    padding: clamp(28px, 4vw, 56px);
    position: relative;
    overflow: hidden;
}

.orch-shell::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(60% 50% at 50% 0%, rgba(19, 184, 126, 0.18), transparent 70%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 30%);
    pointer-events: none;
}

.orch-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 28px;
    position: relative;
    z-index: 1;
}

.orch-head h2 {
    color: var(--ink);
}

.orch-head .lede {
    color: rgba(246, 243, 236, 0.7);
    max-width: 48ch;
}

.orch-stage {
    position: relative;
    z-index: 1;
}

/* =========================================================
   Stat tiles
   ========================================================= */
.stats-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-top: 1px solid var(--pen-4);
    border-bottom: 1px solid var(--pen-4);
}

.stat-tile {
    padding: 32px 28px;
    border-right: 1px solid var(--pen-4);
}

.stat-tile:last-child {
    border-right: none;
}

.stat-num {
    font-size: 3.5rem;
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1;
    margin-bottom: 8px;
}

.stat-num em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
    color: var(--signal);
}

.stat-label {
    font-family: var(--mono);
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pen-2);
}

/* =========================================================
   Feature splits & cards
   ========================================================= */
.split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}

.split-reverse> :first-child {
    order: 2;
}

.feature-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid var(--rule);
    border-left: 1px solid var(--rule);
}

.feature-cell {
    padding: 32px;
    border-right: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    background: var(--paper);
    transition: background 0.2s;
}

.feature-cell:hover {
    background: var(--paper-2);
}

.feature-cell h3 {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 8px;
}

.feature-cell p {
    font-size: 1.125rem;
    color: var(--pen-2);
    line-height: 1.5;
}

.feature-cell .ico {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    background: var(--white);
    border: 1px solid var(--rule);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    color: var(--signal);
}

/* =========================================================
   Footer
   ========================================================= */
.footer {
    background: var(--paper-2);
    color: var(--ink);
    padding: 64px 0 32px;
}

.footer-news {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 32px;
    align-items: end;
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-news-form{
    padding: 6px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
	position: relative;
}

.wpcf7-form br{
	display: none
}

.footer-news-form p{
	display: flex;
    gap: 8px;
	margin-bottom: 0;
}

.footer-news-form input {
    min-width: 0;
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ink);
    padding: 10px 12px;
    font: inherit;
	width : 331px;
}

.footer-news-form input::placeholder {
    color: var(--pen-3);
}

.footer-news-form .wpcf7-not-valid-tip{
	position: absolute;
    bottom: -30px;
}

.footer-news-form .wpcf7-spinner{
	position: absolute;
    right: 0;
    bottom: -30px;
}

.footer-news-form .wpcf7-submit{
	flex-shrink: 0;
	width: auto;
	font-size: 0.92rem;
	padding: 11px 18px;
}

.footer-newsletter .wpcf7-response-output{
	margin: 20px 0 0 0 !important;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    gap: 32px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer h5 {
    font-family: var(--mono);
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(246, 243, 236, 0.6);
    margin-bottom: 16px;
    font-weight: 500;
}

.footer ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer a {
    color: rgba(246, 243, 236, 0.85);
    font-size: 1rem;
    transition: color 0.2s;
}

.footer a:hover {
    color: var(--ink);
}

.footer-brand p {
    color: var(--pen-2);
    margin-top: 1rem;
    font-size: 0.92rem;
    max-width: 32ch;
}

.footer-socials {
    display: flex;
    gap: 12px;
    margin-top: 18px;
}

.footer-socials a {
    width: 45px;
    height: 45px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    color: var(--ink);
    font-family: var(--mono);
    font-size: 1rem;
    text-transform: uppercase;
}

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 36px;
}

.footer-contact h5 {
    margin-bottom: 4px;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    padding-top: 24px;
    font-size: 0.82rem;
    color: rgba(246, 243, 236, 0.8);
    font-family: var(--mono);
}

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

/* =========================================================
   Utilities
   ========================================================= */
.grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.flex {
    display: flex;
}

.flex-col {
    display: flex;
    flex-direction: column;
}

.flex-wrap {
    flex-wrap: wrap;
}

.items-center {
    align-items: center;
}

.items-start {
    align-items: flex-start;
}

.justify-between {
    justify-content: space-between;
}

.gap-2 {
    gap: 8px;
}

.gap-3 {
    gap: 12px;
}

.gap-4 {
    gap: 16px;
}

.gap-6 {
    gap: 24px;
}

.mt-2 {
    margin-top: 8px;
}

.mt-4 {
    margin-top: 16px;
}

.mt-6 {
    margin-top: 24px;
}

.mt-8 {
    margin-top: 32px;
}

.mt-12 {
    margin-top: 48px;
}

.mt-16 {
    margin-top: 64px;
}

.mb-2 {
    margin-bottom: 8px;
}

.mb-4 {
    margin-bottom: 16px;
}

.mb-6 {
    margin-bottom: 24px;
}

.mb-8 {
    margin-bottom: 32px;
}

.mb-12 {
    margin-bottom: 48px;
}

.tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 4px;
    background: var(--paper-2);
    color: var(--pen-2);
    border: 1px solid var(--rule);
}

.tag-signal {
    background: var(--signal-soft);
    color: var(--signal-2);
    border-color: rgba(19, 184, 126, 0.2);
}

.tag-heritage {
    background: var(--heritage-soft);
    color: var(--heritage-2);
    border-color: rgba(184, 137, 63, 0.25);
}

.tag-danger {
    background: var(--danger-soft);
    color: var(--danger);
    border-color: rgba(224, 92, 84, 0.2);
}




/* =========================================================
   Orchestrator scoped styles
   ========================================================= */
.orch {
    position: relative;
    z-index: 1;
}

.orch-pipe {
    margin-bottom: 32px;
}

.orch-pipe-track {
    display: grid;
    grid-template-columns: repeat(14, 1fr);
    gap: 6px;
    margin-bottom: 12px;
}

.orch-node {
    --tone: #0e8a5f;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
    color: rgba(246, 243, 236, 0.55);
    border-radius: 12px;
    padding: 14px 6px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center;
    cursor: pointer;
    transition: all 0.25s var(--ease);
}

.orch-node:hover {
    background: rgba(255, 255, 255, 0.06);
    color: var(--ink);
}

.orch-node-num {
    font-family: var(--mono);
    font-size: 9px;
    letter-spacing: 0.08em;
    opacity: 0.55;
}

.orch-node-mon {
    font-family: var(--serif);
    font-style: italic;
    font-size: 18px;
    line-height: 1;
    font-weight: 400;
    color: rgba(246, 243, 236, 0.7);
    transition: color 0.25s;
}

.orch-node-label {
    font-size: 9px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(246, 243, 236, 0.45);
    font-weight: 500;
    line-height: 1.1;
}

.orch-node.is-passed {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.14);
}

.orch-node.is-passed .orch-node-mon {
    color: rgba(246, 243, 236, 0.85);
}

.orch-node.is-active {
    background: rgba(255, 255, 255, 0.08);
    border-color: var(--tone);
    color: var(--ink);
    box-shadow:
        0 0 0 1px var(--tone),
        0 0 24px -4px var(--tone),
        inset 0 0 24px -8px var(--tone);
    transform: translateY(-2px);
}

.orch-node.is-active .orch-node-mon {
    color: var(--ink);
}

.orch-node.is-active .orch-node-label {
    color: var(--ink);
}

.orch-node.is-active::before {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 14px;
    border: 1px solid var(--tone);
    opacity: 0.4;
    animation: orchPulse 1.6s ease-out infinite;
}

@keyframes orchPulse {
    0% {
        transform: scale(1);
        opacity: 0.5;
    }

    100% {
        transform: scale(1.08);
        opacity: 0;
    }
}

.orch-progress {
    height: 2px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 2px;
    overflow: hidden;
    position: relative;
}

/* —— Detail card + log —— */
.orch-detail-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 20px;
}

.orch-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.orch-card-head {
    display: flex;
    align-items: center;
    gap: 14px;
}

.orch-mon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--serif);
    font-style: italic;
    font-size: 22px;
    color: white;
    font-weight: 400;
    letter-spacing: -0.02em;
}

.orch-card-role {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(246, 243, 236, 0.55);
    margin-bottom: 2px;
}

.orch-card-name {
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--ink);
    letter-spacing: -0.01em;
}

.orch-card-status {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 100px;
    background: rgba(14, 138, 95, 0.18);
    border: 1px solid rgba(14, 138, 95, 0.4);
    color: #5dd3a1;
    font-size: 0.75rem;
    font-weight: 500;
}

.orch-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #5dd3a1;
    box-shadow: 0 0 8px #5dd3a1;
    animation: dotPulse 1.4s ease-in-out infinite;
}

@keyframes dotPulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.4;
    }
}

.orch-card-action,
.orch-card-out {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.orch-card-action-text {
    font-family: var(--mono);
    font-size: 0.85rem;
    color: var(--ink);
    letter-spacing: -0.005em;
}

.orch-card-out-text {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.1rem;
    color: var(--ink);
    line-height: 1.4;
    letter-spacing: -0.01em;
}

/* Log */
.orch-log {
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.orch-log-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(246, 243, 236, 0.6);
}

.orch-log-toggle {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--ink);
    padding: 4px 10px;
    border-radius: 6px;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.orch-log-toggle:hover {
    background: rgba(255, 255, 255, 0.1);
}

.orch-log-body {
    flex: 1;
    padding: 14px 18px;
    font-family: var(--mono);
    font-size: 0.78rem;
    color: rgba(246, 243, 236, 0.8);
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 220px;
}

.orch-log-row {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 12px;
    animation: logIn 0.4s var(--ease);
}

@keyframes logIn {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.orch-log-time {
    color: rgba(246, 243, 236, 0.35);
}

.orch-log-text {
    color: rgba(246, 243, 236, 0.85);
    letter-spacing: -0.005em;
}

.orch-log-foot {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(246, 243, 236, 0.5);
}


/* =========================================================
   Input modes — voice, stylus, scan
   ========================================================= */
.im-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.im-card {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 18px;
    padding: 24px 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: all 0.2s var(--ease);
}

.im-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px -18px rgba(13, 17, 23, 0.15);
}

.im-card-head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.im-card-num {
    font-family: var(--mono);
    font-size: 0.875rem;
    letter-spacing: 0.15em;
    color: var(--pen-2);
    height: 45px;
    width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--paper-2);
    border: 1px solid var(--rule);
    border-radius: 100px;
    font-weight: 500;
    flex-shrink: 0;
    margin-top: 2px;
}

.im-card-eyebrow {
    font-family: var(--mono);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-2);
    margin-bottom: 4px;
}

.im-card-name {
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: -0.015em;
    line-height: 1.2;
    color: var(--ink);
}

.im-card-name em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
}

/* —— Stage area —— */
.im-card-stage {
    background: linear-gradient(180deg, var(--paper-2) 0%, var(--paper) 100%);
    border: 1px solid var(--rule);
    border-radius: 12px;
    height: 150px;
    padding: 18px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* —— Voice —— */
.im-wave {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    height: 70%;
    width: 100%;
}

.im-wave-bar {
    display: block;
    width: 4px;
    min-height: 4px;
    background: linear-gradient(180deg, var(--signal) 0%, var(--signal-2) 100%);
    border-radius: 2px;
    transition: height 0.15s ease-out;
}

.im-mic {
    position: absolute;
    top: 14px;
    left: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--signal);
    padding: 4px 10px;
    background: var(--signal-soft);
    border: 1px solid color-mix(in srgb, var(--signal) 30%, transparent);
    border-radius: 100px;
}

.im-mic-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--signal);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--signal) 20%, transparent);
    animation: dotPulse 1.4s ease-in-out infinite;
}

.im-lang-pill {
    position: absolute;
    bottom: 14px;
    right: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--sans);
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--ink);
    padding: 4px 10px;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 100px;
}

.im-lang-flag {
    color: var(--signal);
    font-size: 8px;
}

/* —— Transcript —— */
.im-transcript {
    background: var(--paper);
    color: var(--ink);
    border-radius: 10px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.im-transcript-label {
    font-family: var(--mono);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-2);
}

.im-transcript-text {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1rem;
    color: #b1b8c5;
    letter-spacing: -0.005em;
    line-height: 1.4;
    min-height: 1.4em;
}

.im-recog {
    color: var(--signal);
    font-style: normal;
    font-family: var(--sans);
    font-weight: 600;
    border-bottom: 1px dashed rgba(93, 211, 161, 0.5);
    padding-bottom: 1px;
}

.im-card-foot {
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.5;
    margin: 0;
}

/* —— Stylus SVG Animation —— */
.im-stylus-path-black {
    stroke: #687387;
    stroke-width: 2.2px;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 600;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 2s ease-in-out;
}

.im-stylus-path-green {
    stroke: #05c3dd;
    stroke-width: 2.2px;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 400;
    stroke-dashoffset: 400;
    transition: stroke-dashoffset 1.6s ease-in-out;
}

.im-stylus-pen {
    transform: translate(210px, 70px) rotate(-30deg);
    transition: transform 1.8s ease-in-out;
}

/* —— Scan —— */
.im-scan-stage {
    padding: 0 !important;
}

.im-scan-paper {
    position: absolute;
    inset: 14px;
    background:
        repeating-linear-gradient(180deg, transparent 0 20px, rgba(13, 17, 23, 0.08) 20px 21px),
        linear-gradient(180deg, #faf6ea 0%, #f0e8d3 100%);
    border-radius: 8px;
    padding: 14px 18px;
    font-family: var(--serif);
    font-style: italic;
    font-size: 11px;
    color: rgba(42, 36, 24, 0.8);
    line-height: 1.6;
    letter-spacing: -0.005em;
}

.im-scan-line {
    display: block;
}

.im-scan-frame {
    position: absolute;
    inset: 28px;
    border: 1.5px solid var(--signal);
    border-radius: 6px;
    pointer-events: none;
    transition: inset 0.6s var(--ease), border-color 0.3s;
}

.im-scan-frame.is-snap {
    inset: 14px;
    border-color: #5dd3a1;
    box-shadow: 0 0 0 3px rgba(14, 138, 95, 0.18), 0 0 24px rgba(14, 138, 95, 0.4);
}

.im-scan-corner {
    position: absolute;
    width: 14px;
    height: 14px;
    border: 2px solid var(--signal);
}

.im-scan-frame.is-snap .im-scan-corner {
    border-color: #5dd3a1;
}

.im-scan-flash {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.9);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s;
}

.im-scan-flash.is-on {
    opacity: 0.3;
    transition: opacity 0.08s;
}

/* =========================================================
   Inside LexEdge — product screenshot gallery
   ========================================================= */
.gal-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}


.gal-card {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 18px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: all 0.2s var(--ease);
}

.gal-card:hover {
    border-color: var(--pen-4);
    box-shadow: 0 12px 28px -18px rgba(13, 17, 23, 0.12);
}

.gal-grid .gal-card:nth-child(5) .gal-frame{
	padding: 0 10.3rem;
}

.gal-frame {
    position: relative;
    width: 100%;
/*     aspect-ratio: 16 / 10; */
    background: #022840;
/*     border: 1px dashed var(--rule); */
	padding: 0 7rem;
    border-radius: 12px;
    overflow: hidden;
}

.gal-frame img{
	width: 100%;
    height: 100%;
    object-fit: cover;
}

.gal-frame image-slot {
    display: block;
    width: 100%;
    height: 100%;
}

.gal-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 4px 4px 6px;
}

.gal-title {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--ink);
}

.gal-sub {
    font-family: var(--mono);
    font-size: 0.875rem;
    letter-spacing: 0.06em;
    color: var(--pen-2);
}

/* =========================================================
   USPs — Why LexEdge (hero + 3x3 bento)
   ========================================================= */
.usp-head {
    align-items: start;
}

.usp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

/* Transformation card — full-width, paper→digital */
.usp-transform-card {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 18px;
    padding: clamp(28px, 4vw, 44px);
    position: relative;
    overflow: hidden;
}

.usp-transform-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(60% 80% at 0% 100%, color-mix(in srgb, var(--signal) 8%, transparent), transparent 70%);
    pointer-events: none;
}


.usp-transform-eyebrow {
    display: inline-block;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--signal);
    margin-bottom: 12px;
}

.usp-transform-title {
    font-size: clamp(1.4rem, 2.2vw, 1.9rem);
    font-weight: 600;
    letter-spacing: -0.025em;
    color: var(--ink);
    line-height: 1.2;
    margin: 0 0 16px;
}

.usp-transform-title em {
    font-style: italic;
    color: var(--signal);
}

.usp-transform-body {
    font-size: 0.975rem;
    color: var(--pen-2);
    line-height: 1.6;
    max-width: 48ch;
    margin: 0 0 20px;
}

.usp-transform-arrow {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-3);
    border-left: 2px solid var(--signal);
    padding-left: 10px;
}

.usp-transform-modules {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.usp-transform-module {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: var(--paper-2);
    border: 1px solid var(--rule);
    border-radius: 10px;
    padding: 12px 14px;
}

.usp-transform-module-icon {
    font-size: 1.2rem;
    line-height: 1;
    flex-shrink: 0;
    margin-top: 1px;
}

.usp-transform-module-label {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--ink);
    letter-spacing: -0.01em;
    margin-bottom: 2px;
}

.usp-transform-module-desc {
    font-size: 0.75rem;
    color: var(--pen-3);
    line-height: 1.4;
}

/* Hero USP — full-width dark feature card */
.usp-hero {
    grid-column: 1 / -1;
    position: relative;
    overflow: hidden;
    background: var(--paper-3);
    color: var(--ink);
    border-radius: 18px;
    padding: clamp(28px, 4vw, 44px);
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 32px;
    align-items: center;
}

.usp-hero-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(50% 80% at 100% 50%, rgba(14, 138, 95, 0.22), transparent 70%),
        radial-gradient(40% 60% at 10% 0%, rgba(184, 137, 63, 0.12), transparent 70%);
    pointer-events: none;
}

.usp-hero-content {
    position: relative;
}

.usp-hero-stat {
    position: relative;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 24px 28px;
    display: flex;
    align-items: center;
    gap: 18px;
}

.usp-hero-stat-num {
    font-family: var(--serif);
    font-style: normal;
    font-size: clamp(4rem, 9vw, 7rem);
    font-weight: 400;
    letter-spacing: -0.05em;
    line-height: 0.9;
    color: var(--ink);
}

.usp-hero-stat-num em {
    font-style: italic;
    color: #5dd3a1;
}

.usp-hero-stat-lbl {
    font-family: var(--mono);
    font-size: 0.925rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(246, 243, 236, 0.6);
    line-height: 1.4;
}

/* USP tile — paper-coloured */
.usp-tile {
    --tone: #0e8a5f;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 14px;
    padding: 22px 22px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: all 0.2s var(--ease);
    position: relative;
    min-height: 200px;
}

.usp-tile:hover {
    transform: translateY(-2px);
    border-color: var(--tone);
    box-shadow: 0 12px 28px -18px rgba(13, 17, 23, 0.15);
}

.usp-tile-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.usp-tile-num {
    font-family: var(--mono);
    font-size: 1.125rem;
    letter-spacing: 0.15em;
    color: var(--pen-2);
    font-weight: 500;
}

.usp-tile-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--tone);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--tone) 15%, transparent);
}

.usp-tile-name {
    font-size: 1.7rem;
    font-weight: 500;
    letter-spacing: -0.015em;
    color: #fff;
    line-height: 1.2;
    margin-top: 4px;
}

.usp-tile-body {
    font-size: 1rem;
    color: var(--pen);
    line-height: 1.55;
    margin: 0;
}

/* ── Concerns section ───────────────────────────────────── */
.concerns-section {
    background: var(--paper);
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    padding: 72px 0;
}

.concerns-head {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 48px;
}

.concerns-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.concern-card {
    --ctone: #0e8a5f;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
	align-items: start;
    gap: 12px;
    transition: box-shadow 0.2s var(--ease), border-color 0.2s var(--ease);
}

.concern-card:hover {
    border-color: var(--ctone);
    box-shadow: 0 8px 32px -12px color-mix(in srgb, var(--ctone) 25%, transparent);
}

.concern-card-top {
    display: flex;
    align-items: center;
    gap: 16px;
}

.concern-icon-wrap {
    width: 52px;
    height: 52px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--ctone) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--ctone) 20%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--ctone);
    font-size: 1.4rem;
}

.concern-icon-wrap i{
	color: var(--ctone);
}

.concern-label {
    font-family: var(--mono);
    font-size: 1rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ctone);
    font-weight: 600;
}

.concern-q {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.5rem;
    color: #fff;
    line-height: 1.45;
    margin: 0;
}

.concern-divider {
    height: 1px;
    background: var(--rule);
}

.concern-a {
    font-size: 1rem;
    color: var(--pen);
    line-height: 1.6;
    margin: 0;
    flex: 1;
}

.concern-tag {
    font-family: var(--mono);
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ctone);
    background: color-mix(in srgb, var(--ctone) 6%, transparent);
    border: 1px solid color-mix(in srgb, var(--ctone) 40%, transparent);
    border-radius: 20px;
    padding: 6px 14px;
    align-self: flex-start;
    margin-bottom: 12px;
}

.read-more-btn{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--ctone);
	margin-top: auto;
	font-weight: 500;
}

.read-more-btn i{
	color: var(--ctone);
}

/* ── USP tile icons ─────────────────────────────────────── */
.usp-tile-icons {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--pen-4);
}

.usp-icon-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.usp-icon {
    font-size: 1.25rem;
    color: var(--tone);
    flex-shrink: 0;
}

.usp-icon-label {
    font-family: var(--mono);
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    color: var(--pen);
}

.usp-tile-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.usp-tile-chip {
    font-family: var(--mono);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pen-2);
    border: 1px solid var(--pen-3);
    border-radius: 4px;
    padding: 3px 8px;
}

.usp-platforms {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    align-items: center;
}

.usp-svg-icon img{
    width: 22px;
}

.usp-svg-icon.apple-ic img , .usp-svg-icon.andriod-ic img{
    width: 28px;
}

.usp-svg-icon.chrome-ic img{
    width: 24px;
}

.usp-svg-icon.whatsapp-ic img{
    width: 26px;
}

.usp-platforms i{
	font-size: 1.3rem
}

.platform-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.platform-icon-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--paper-2);
    border: 1px solid var(--rule);
}

.platform-icon-label {
    font-family: var(--mono);
    font-size: 9px;
    letter-spacing: 0.08em;
    color: var(--pen-3);
    text-align: center;
}

/* ── USP highlight rows (card 02 — hallucination) ───────── */
.usp-highlights {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.usp-highlight {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border-radius: 8px;
    padding: 10px 12px;
    border: 1px solid transparent;
}

.usp-highlight--safe {
    background: color-mix(in srgb, var(--signal) 8%, transparent);
    border-color: color-mix(in srgb, var(--signal) 20%, transparent);
}

.usp-highlight--warn {
    background: color-mix(in srgb, var(--danger) 8%, transparent);
    border-color: color-mix(in srgb, var(--danger) 20%, transparent);
}

.usp-highlight-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-top: 1px;
}

.usp-highlight--safe .usp-highlight-icon {
    color: var(--signal);
}

.usp-highlight--warn .usp-highlight-icon {
    color: var(--danger);
}

.usp-highlight-title {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--ink);
    margin-bottom: 2px;
    letter-spacing: -0.01em;
}

.usp-highlight-desc {
    font-size: 0.72rem;
    color: var(--pen-2);
    line-height: 1.4;
}

.usp-tile--nontech {
    background: color-mix(in srgb, var(--tone) 4%, var(--white));
    border-color: color-mix(in srgb, var(--tone) 25%, var(--rule));
}

.usp-tile--nontech:hover {
    background: color-mix(in srgb, var(--tone) 7%, var(--white));
}

.usp-tile-badge {
    font-family: var(--mono);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--tone);
    background: color-mix(in srgb, var(--tone) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--tone) 30%, transparent);
    border-radius: 20px;
    padding: 2px 12px;
    white-space: nowrap;
}

/* =========================================================
   Modules overview (5 modules in one app)
   ========================================================= */
.modules-head {
    align-items: end;
}

.modules-stage {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 48px;
    align-items: center;
}

/* —— Phone mock —— */
.phone-mock {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: linear-gradient(180deg, var(--paper-2) 0%, var(--paper) 100%);
    border: 1px solid var(--rule);
    border-radius: 24px;
    position: relative;
    overflow: hidden;
}

.phone-mock::before {
    content: '';
    position: absolute;
    inset: -40% 30% auto auto;
    width: 50%;
    aspect-ratio: 1;
    background: radial-gradient(circle, var(--signal-glow), transparent 70%);
    pointer-events: none;
}

.phone-bezel {
    width: 320px;
    background: #0a0e1a;
    border-radius: 36px;
    padding: 8px;
    position: relative;
    box-shadow:
        0 0 0 1.5px rgba(255, 255, 255, 0.05),
        0 30px 60px -30px rgba(13, 17, 23, 0.4),
        0 16px 40px -20px rgba(13, 17, 23, 0.25);
}

.phone-notch {
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    width: 90px;
    height: 22px;
    background: #050810;
    border-radius: 16px;
    z-index: 2;
}

.phone-screen {
    background: #0d1320;
    border-radius: 30px;
    padding: 38px 16px 12px;
    min-height: 540px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    color: var(--ink);
    font-family: var(--sans);
}

.phone-status {
    display: flex;
    justify-content: space-between;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.55);
    padding: 0 6px;
}

.phone-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.phone-burger {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1;
}

.phone-brand {
    font-weight: 600;
    font-size: 0.92rem;
    letter-spacing: -0.01em;
}

.phone-brand-dot {
    color: var(--signal);
}

.phone-bell {
    color: #ec8980;
    font-size: 10px;
}

.phone-section-title {
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    margin-top: 6px;
    padding: 0 4px;
}

.phone-section-sub {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.5);
    padding: 0 4px;
    margin-top: -6px;
}

.phone-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 8px;
}

.phone-tile {
    --tone: #0e8a5f;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 14px 10px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: all 0.25s var(--ease);
    text-align: center;
}

.phone-tile:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
}

.phone-tile.is-active {
    background: var(--tone);
    border-color: var(--tone);
    box-shadow: 0 0 0 1px var(--tone), 0 0 20px -4px var(--tone);
    transform: translateY(-1px);
}

.phone-tile-ico {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.25s;
}

.phone-tile.is-active .phone-tile-ico {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.25);
}

.phone-tile-name {
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: -0.005em;
    color: var(--ink);
    line-height: 1.2;
}

.phone-tile-empty {
    background: transparent;
    border: 1px dashed rgba(255, 255, 255, 0.1);
    cursor: default;
}

.phone-tile-empty:hover {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.1);
}

.phone-tabbar {
    margin-top: auto;
    display: flex;
    justify-content: space-around;
    padding: 10px 4px;
    background: rgba(255, 255, 255, 0.03);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 0 0 22px 22px;
    margin: auto -16px -12px;
    padding-bottom: 18px;
}

.phone-tab {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.4);
    font-weight: 500;
}

.phone-tab.is-active {
    color: var(--ink);
    background: rgba(255, 255, 255, 0.08);
    padding: 4px 10px;
    border-radius: 100px;
}

/* —— Module detail panel —— */
.modules-detail {
    display: flex;
    flex-direction: column;
    gap: 18px;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 20px;
    padding: 32px;
    position: relative;
}

.module-detail-content {
    display: none;
    flex-direction: column;
    gap: 18px;
}

.module-detail-content.is-active {
    display: flex;
}

.phone-tile .phone-tile-ico svg {
    stroke: var(--tone);
    transition: stroke 0.25s;
}

.phone-tile.is-active .phone-tile-ico svg {
    stroke: #ffffff;
}

.modules-detail-top {
    display: flex;
    align-items: center;
    gap: 16px;
}

.modules-mon {
    width: 62px;
    height: 62px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.modules-tab {
    font-family: var(--mono);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-2);
    margin-bottom: 2px;
}

.modules-name {
    font-size: 1.65rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.05;
}

.modules-one {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.5rem;
    letter-spacing: -0.01em;
    line-height: 1.25;
    color: var(--ink);
    padding-bottom: 8px;
}

.modules-pitch {
    font-size: 1.2rem;
    color: var(--pen-2);
    line-height: 1.6;
    margin: 0;
}

.modules-bullets {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 0;
    border-top: 1px solid var(--rule);
}

.modules-bullets li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 1rem;
    color: var(--pen-2);
    letter-spacing: -0.005em;
}

.modules-bullet-check {
    font-weight: 700;
    font-size: 14px;
    line-height: 1.4;
    flex-shrink: 0;
}

.modules-tabs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 4px;
    border-top: 1px solid var(--rule);
    padding-top: 16px;
    margin-top: auto;
}

.modules-tab-btn {
    --tone: #0e8a5f;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 10px 8px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    cursor: pointer;
    text-align: left;
    transition: all 0.2s;
    gap: 8px;
}

.modules-tab-btn:hover {
    background: var(--paper-2);
}

.modules-tab-btn.is-active {
    background: var(--paper-2);
    border-color: var(--tone);
    box-shadow: inset 0 -2px 0 var(--tone);
}

.modules-tab-num {
    font-family: var(--mono);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    color: var(--pen-3);
}

.modules-tab-btn.is-active .modules-tab-num {
    color: var(--tone);
}

.modules-tab-label {
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: -0.005em;
    color: var(--ink);
    line-height: 1.2;
}



.modules-summary {
    margin-top: 32px;
    padding: 20px 24px;
    background: var(--paper-2);
    border: 1px solid var(--rule);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.modules-summary-line {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.4rem;
    color: var(--ink);
    letter-spacing: -0.005em;
}

.modules-summary-line strong {
    font-style: normal;
    font-family: var(--sans);
    font-weight: 600;
	color: inherit;
}

.modules-chips {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    font-family: var(--mono);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pen-2);
}

/* =========================================================
   Hero — paper to digital visual
   ========================================================= */
.hero-art {
    position: absolute;
    inset: 0;
}

.hero-art-paper,
.hero-art-screen {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50%;
    overflow: hidden;
}

.hero-art-paper {
    left: 0;
    background:
        repeating-linear-gradient(180deg, transparent 0 24px, rgba(13, 17, 23, 0.05) 24px 25px),
        linear-gradient(135deg, #faf6ea 0%, #f0e8d3 100%);
}

.hero-art-screen {
    right: 0;
    background:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px) 0 0 / 22px 22px,
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px) 0 0 / 22px 22px,
        linear-gradient(135deg, #14202e 0%, #0a0e1a 100%);
}

.hero-art-divider {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    background: linear-gradient(180deg, transparent 0%, var(--signal) 50%, transparent 100%);
    box-shadow: 0 0 24px var(--signal), 0 0 8px var(--signal);
    z-index: 4;
}

.hero-art-divider::before {
    content: 'AI';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--signal);
    color: white;
    padding: 6px 10px;
    border-radius: 100px;
    font-family: var(--mono);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

/* paper diary content */
.diary {
    position: absolute;
    inset: 28px 22px 22px 22px;
    font-family: var(--serif);
    color: #2a2418;
    display: flex;
    flex-direction: column;
}

.diary-head {
    font-size: 11px;
    font-family: var(--mono);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(42, 36, 24, 0.5);
    margin-bottom: 16px;
    font-style: normal;
}

.diary-date {
    font-size: 1.4rem;
    font-style: italic;
    letter-spacing: -0.01em;
    margin-bottom: 12px;
    color: #2a2418;
}

.diary-line {
    font-size: 0.95rem;
    font-family: var(--serif);
    font-style: italic;
    color: rgba(42, 36, 24, 0.85);
    margin-bottom: 18px;
    line-height: 1.5;
}

.diary-line strong {
    font-style: normal;
    font-family: var(--sans);
    font-weight: 600;
}

.diary-stamp {
    position: absolute;
    bottom: 24px;
    right: 24px;
    transform: rotate(-8deg);
    border: 2px solid rgba(184, 66, 58, 0.6);
    color: rgba(184, 66, 58, 0.7);
    padding: 4px 10px;
    font-family: var(--mono);
    font-size: 9px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-weight: 600;
}

/* screen content */
.screen {
    position: absolute;
    inset: 22px 22px 22px 28px;
    color: var(--ink);
    display: flex;
    flex-direction: column;
    gap: 12px;
    z-index: 2;
}

.screen-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(246, 243, 236, 0.5);
}

.screen-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.screen-card-title {
    font-size: 0.92rem;
    font-weight: 500;
    letter-spacing: -0.01em;
}

.screen-card-meta {
    font-family: var(--mono);
    font-size: 0.72rem;
    color: rgba(246, 243, 236, 0.5);
    letter-spacing: -0.005em;
}

.screen-card-meta .ok {
    color: #5dd3a1;
}

.screen-card-meta .warn {
    color: #f3c969;
}

.screen-mini-agents {
    display: flex;
    gap: 6px;
}

.screen-mini-agent {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--serif);
    font-style: italic;
    font-size: 13px;
    color: var(--ink);
}

.screen-mini-agent.active {
    background: var(--signal);
    border-color: var(--signal);
}

/* =========================================================
   Citation verify demo
   ========================================================= */
.demo-shell {
/*     background: var(--paper); */
/*     color: var(--ink); */
    border-radius: 12px;
    overflow: hidden;
/*     border: 1px solid rgba(255, 255, 255, 0.06); */
}

.demo-tab {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(246, 243, 236, 0.55);
}

.demo-dots {
    display: flex;
    gap: 6px;
}

.demo-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
}

.demo-body {
    padding: 20px;
}

.cite-input-row {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
}

.cite-input {
    flex: 1;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--paper);
    padding: 10px 14px;
    border-radius: 8px;
    font-family: var(--mono);
    font-size: 0.85rem;
    letter-spacing: -0.005em;
    outline: none;
}

.cite-input:focus {
    border-color: var(--signal);
}

.cite-input::placeholder {
    color: rgba(246, 243, 236, 0.35);
}

.cite-quick {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.cite-quick-btn {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(246, 243, 236, 0.65);
    padding: 5px 10px;
    border-radius: 100px;
    font-family: var(--mono);
    font-size: 0.7rem;
    letter-spacing: 0.04em;
    transition: all 0.2s;
}

.cite-quick-btn:hover {
    border-color: var(--signal);
    color: var(--paper);
}

.cite-result {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 18px;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cite-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px;
    border-radius: 100px;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    align-self: flex-start;
}

.cite-status-ok {
    background: rgba(14, 138, 95, 0.18);
    border: 1px solid rgba(14, 138, 95, 0.4);
    color: #5dd3a1;
}

.cite-status-fake {
    background: rgba(184, 66, 58, 0.18);
    border: 1px solid rgba(184, 66, 58, 0.4);
    color: #ec8980;
}

.cite-status-loading {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(246, 243, 236, 0.7);
}

.cite-case-name {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.4rem;
    color: var(--paper);
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.cite-meta-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 4px;
}

.cite-meta-cell {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
    padding: 10px 12px;
}

.cite-meta-cell-label {
    font-family: var(--mono);
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(246, 243, 236, 0.4);
    margin-bottom: 4px;
}

.cite-meta-cell-val {
    font-size: 0.88rem;
    color: var(--paper);
    letter-spacing: -0.005em;
}

.cite-holding {
    font-size: 0.88rem;
    color: rgba(246, 243, 236, 0.8);
    line-height: 1.5;
    padding: 12px;
    background: rgba(255, 255, 255, 0.02);
    border-left: 2px solid var(--signal);
    border-radius: 4px;
}

.cite-fake-msg {
    font-size: 0.92rem;
    color: rgba(246, 243, 236, 0.85);
    line-height: 1.5;
}

.cite-fake-msg em {
    color: #ec8980;
    font-style: normal;
    font-weight: 600;
}

/* =========================================================
   Drafting demo
   ========================================================= */
.draft-shell {
    border-radius: 16px;
    overflow: hidden;
}

.draft-tab {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid var(--rule);
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-3);
    background: var(--paper-2);
}

.draft-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
}

.draft-form {
    padding: 20px;
    border-right: 1px solid var(--rule);
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: var(--paper);
}

.draft-doc {
    padding: 28px 28px 24px;
    font-family: var(--serif);
    font-size: 0.92rem;
    color: var(--ink);
    line-height: 1.65;
    min-height: 320px;
    background:
        repeating-linear-gradient(180deg, transparent 0 26px, rgba(13, 17, 23, 0.04) 26px 27px),
        var(--white);
}

.draft-doc h4 {
    font-family: var(--sans);
    font-size: 0.95rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 8px;
}

.draft-doc p {
    margin-bottom: 12px;
    font-style: italic;
}

.draft-slot {
    background: var(--signal-soft);
    color: var(--signal-2);
    font-style: normal;
    font-family: var(--mono);
    font-size: 0.85em;
    padding: 1px 6px;
    border-radius: 3px;
    font-weight: 500;
    border-bottom: 1px solid var(--signal);
    transition: background 0.3s;
}

.draft-slot.empty {
    background: var(--heritage-soft);
    color: var(--heritage-2);
    border-bottom-color: var(--heritage);
}

.draft-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.draft-field label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-3);
}

.draft-field input,
.draft-field select {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 8px;
    padding: 9px 12px;
    font-family: var(--sans);
    font-size: 0.92rem;
    color: var(--ink);
    outline: none;
}

.draft-field input:focus,
.draft-field select:focus {
    border-color: var(--signal);
    box-shadow: 0 0 0 3px var(--signal-glow);
}

.draft-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 6px;
}

.draft-profile {
    background: var(--paper-2);
    border: 1px solid var(--rule);
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 0.82rem;
    color: var(--pen-2);
    display: flex;
    align-items: center;
    gap: 8px;
}

.draft-profile-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--signal);
}


/* =========================================================
   Agents page styles
   ========================================================= */
.ap-head {
    align-items: flex-end;
}

.ap-head>* {
    min-width: 0;
}

.ap-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--rule);
}

.ap-filter {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 100px;
    font-size: 0.9rem;
    color: var(--pen-2);
    cursor: pointer;
    transition: all 0.2s;
}

.ap-filter:hover {
    border-color: var(--pen-4);
}

.ap-filter.is-active {
    background: var(--signal);
    color: white;
    border-color: var(--signal);
}

.ap-filter-count {
    font-family: var(--mono);
    font-size: 11px;
    opacity: 0.6;
    padding: 1px 6px;
    border-radius: 100px;
    background: rgba(255, 255, 255, 0.08);
}

.ap-filter.is-active .ap-filter-count {
    background: rgba(255, 255, 255, 0.12);
}

.ap-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 24px;
    align-items: flex-start;
}


.ap-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-content: start;
}

.ap-card {
    --tone: #13b87e;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 12px;
    padding: 16px;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s var(--ease);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ap-card:hover {
    border-color: var(--pen-4);
    transform: translateY(-1px);
}

.ap-card.is-selected {
    border-color: var(--tone);
    box-shadow: 0 0 0 1px var(--tone), 0 8px 20px -8px rgba(13, 17, 23, 0.1);
    background: var(--white);
}

.ap-card.is-selected::after {
    content: '';
    position: absolute;
}

.ap-card-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ap-mon {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--serif);
    font-style: italic;
    font-size: 18px;
    color: white;
    flex-shrink: 0;
    font-weight: 400;
}

.ap-mon-big {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--serif);
    font-style: italic;
    font-size: 26px;
    color: white;
    flex-shrink: 0;
    font-weight: 400;
}

.ap-card-body {
    flex: 1;
    min-width: 0;
}

.ap-card-role {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-3);
    margin-bottom: 2px;
}

.ap-card-name {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--ink);
    letter-spacing: -0.01em;
}

.ap-card-cat {
    font-family: var(--mono);
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-4);
    padding: 3px 7px;
    border-radius: 4px;
    background: var(--paper-2);
}

.ap-card-one {
    font-size: 0.85rem;
    color: var(--pen-2);
    line-height: 1.4;
    letter-spacing: -0.005em;
}

/* Detail panel — sticky */
.ap-detail {
    position: sticky;
    top: 84px;
}

.ap-detail-inner {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 8px 24px -16px rgba(0, 0, 0, 0.4);
}

.ap-detail-head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}

.ap-detail-role {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-3);
    margin-bottom: 4px;
}

.ap-detail-name {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: -0.02em;
}

.ap-detail-one {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.25rem;
    color: var(--ink);
    letter-spacing: -0.01em;
    line-height: 1.3;
    margin-bottom: 12px;
}

.ap-detail-pitch {
    font-size: 0.95rem;
    color: var(--pen-2);
    line-height: 1.55;
    margin-bottom: 24px;
}

.ap-detail-section {
    border-top: 1px solid var(--rule);
    padding-top: 16px;
    margin-bottom: 16px;
}

.ap-detail-label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-3);
    margin-bottom: 8px;
}

.ap-detail-skills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.ap-skill {
    font-family: var(--mono);
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 100px;
    background: var(--paper-2);
    border: 1px solid var(--rule);
    color: var(--pen-2);
}

.ap-detail-out {
    font-family: var(--mono);
    font-size: 0.82rem;
    padding: 12px 14px;
    background: var(--paper-2);
    border-radius: 8px;
    color: var(--pen-2);
    line-height: 1.5;
    border-left: 2px solid var(--signal);
}

.ap-detail-best {
    font-size: 0.92rem;
    color: var(--pen-2);
    font-style: italic;
    font-family: var(--serif);
    letter-spacing: -0.005em;
}

/* =========================================================
   Workflow
   ========================================================= */
.wf {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

.wf-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.wf-tab {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 12px;
    padding: 16px;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s;
}

.wf-tab:hover {
    border-color: var(--pen-4);
}

.wf-tab.is-active {
    border-color: rgba(19, 184, 126, 0.45);
    background: var(--signal-soft);
    color: var(--ink);
}

.wf-tab-title {
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    margin-bottom: 4px;
}

.wf-tab-desc {
    font-size: 0.85rem;
    color: var(--pen-3);
    line-height: 1.4;
}

.wf-tab.is-active .wf-tab-desc {
    color: rgba(246, 243, 236, 0.6);
}

.wf-stage {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: 28px;
}

.wf-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.wf-node {
    --tone: #13b87e;
    background: var(--paper);
    border: 1px solid var(--rule);
    border-radius: 12px;
    padding: 10px 14px 10px 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    transition: all 0.25s var(--ease);
    flex-shrink: 0;
}

.wf-node:hover {
    border-color: var(--pen-4);
}

.wf-node.is-done {
    background: var(--white);
    border-color: var(--rule);
}

.wf-node.is-done .wf-node-mon {
    opacity: 0.85;
}

.wf-node.is-active {
    background: var(--white);
    border-color: var(--tone);
    box-shadow: 0 0 0 1px var(--tone), 0 0 0 4px rgba(19, 184, 126, 0.1);
    transform: translateY(-1px);
}

.wf-node-mon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--serif);
    font-style: italic;
    font-size: 14px;
    color: white;
    flex-shrink: 0;
}

.wf-node-num {
    font-family: var(--mono);
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-3);
}

.wf-node-role {
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: -0.005em;
    white-space: nowrap;
}

.wf-arrow {
    font-family: var(--mono);
    color: var(--pen-4);
    font-size: 14px;
    transition: color 0.3s;
}

.wf-arrow.is-done {
    color: var(--signal);
}

.wf-detail {
    background: var(--paper-2);
    border: 1px solid var(--rule);
    border-radius: 12px;
    padding: 20px;
}

.wf-detail-label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-3);
    margin-bottom: 12px;
}

.wf-detail-note {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.15rem;
    color: var(--ink);
    letter-spacing: -0.01em;
    line-height: 1.4;
}


/* =========================================================
   Enterprise page
   ========================================================= */
.ent-promise-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-top: 1px solid var(--pen-4);
    border-bottom: 1px solid var(--pen-4);
}

.ent-promise {
    padding: 28px 24px;
    border-right: 1px solid var(--pen-4);
}

.ent-promise:last-child {
    border-right: none;
}

.ent-promise-num {
    font-family: var(--serif);
    font-style: italic;
    font-size: 2.6rem;
    font-weight: 400;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--ink);
    margin-bottom: 16px;
}

.ent-promise-lbl {
    font-family: var(--mono);
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-2);
    line-height: 1.4;
}

/* Hardware cards */
.hw-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}


.hw-card {
    --tone: #13b87e;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.018)),
        var(--paper-3);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: all 0.25s var(--ease);
    position: relative;
    overflow: hidden;
    min-height: 100%;
    box-shadow: 0 24px 70px -50px rgba(0, 0, 0, 0.85);
}

.hw-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--tone), transparent);
    opacity: 0.8;
}

.hw-card::after {
    content: '';
    position: absolute;
    inset: -40% -10% auto;
    height: 180px;
    background: radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--tone) 22%, transparent), transparent 68%);
    opacity: 0.65;
    pointer-events: none;
}

.hw-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--tone) 32%, rgba(255, 255, 255, 0.08));
    box-shadow: 0 30px 80px -54px color-mix(in srgb, var(--tone) 45%, #000);
}

.hw-frame {
    position: relative;
    aspect-ratio: 16 / 12;
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.01)),
        #06080d;
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
    isolation: isolate;
}

.hw-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
    transition: transform 0.45s var(--ease-out), filter 0.45s var(--ease-out);
}

.hw-card:hover .hw-img {
    transform: scale(1.045);
    filter: saturate(1.05) contrast(1.04);
}

.hw-media-shade {
    position: absolute;
/*     inset: 0; */
/*     background: linear-gradient(180deg, transparent 34%, rgba(5, 7, 11, 0.42) 72%, rgba(5, 7, 11, 0.86)), radial-gradient(circle at 50% 12%, transparent 0 36%, rgba(0, 0, 0, 0.28) 100%); */
	background: linear-gradient(to top, rgb(0 0 0 / 50%) 0%, rgba(0, 0, 0, 0) 100%);
    height: 30%;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 1;
    pointer-events: none;
}

.hw-specs {
    position: absolute;
    left: 10px;
    right: 12px;
    bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    z-index: 2;
}

.hw-specs span {
    border: 1px solid rgba(255, 255, 255, 0.30);
    border-radius: 999px;
    padding: 6px 9px;
    background: rgba(8, 11, 17, 0.72);
    color: rgba(246, 243, 236, 0.86);
    font-family: var(--mono);
    font-size: 0.625rem;
    letter-spacing: 0.03em;
    line-height: 1;
    backdrop-filter: blur(10px);
}

.hw-meta {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 4px 8px 8px;
    position: relative;
    z-index: 1;
}

.hw-eye {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--mono);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(226, 221, 213, 0.85);
}

.hw-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.hw-name {
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: var(--ink);
    margin-bottom: 0;
}

.hw-best {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.125rem;
    color: rgba(226, 221, 213, 0.90);
    letter-spacing: -0.005em;
    margin: 0;
}

.hw-bullets {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.20);
    border-bottom: 1px solid rgba(255, 255, 255, 0.20);
}

.hw-bullets li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 1rem;
    color: rgba(226, 221, 213, 0.80);
    line-height: 1.45;
    position: relative;
    padding-left: 20px;
}

.hw-bullets li::before {
    position: absolute;
    left: 0;
    top: -12px;
    content: '·';
    color: var(--tone);
    font-weight: 700;
    font-size: 1.8rem;
}

.hw-fit {
    font-family: var(--mono);
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tone);
}

/* Architecture */
.ent-arch {
    align-items: center;
}



.ent-layers {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 24px;
}

.ent-layers li {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}

.ent-layers li>div {
    font-size: 1.125rem;
    color: var(--pen-2);
    line-height: 1.45;
}

.ent-layers li>div strong {
    color: var(--ink);
    font-weight: 600;
    font-size: 0.95rem;
}

.ent-layer-num {
    width: 50px;
    height: 50px;
    border-radius: 8px;
    background: var(--paper-2);
    border: 1px solid var(--pen-4);
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.4rem;
    font-weight: 400;
}

.ent-arch-frame {
/*     background: var(--paper-2); */
/*     border: 1px dashed var(--rule); */
    border-radius: 14px;
    overflow: hidden;
}

.ent-arch-frame img {
   	object-fit: cover;
    width: 100%;
    height: 100%;
}

/* Security envelope */
.ent-sec-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    border-left: 1px solid rgba(255, 255, 255, 0.15);
}

.ent-sec-cell {
    background: rgba(255, 255, 255, 0.015);
    padding: 28px;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ent-sec-num {
    font-family: var(--mono);
    font-size: 1.125rem;
    letter-spacing: 0.15em;
    color: rgba(246, 243, 236, 0.70);
    margin-bottom: 6px;
}

.ent-sec-t {
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--ink);
}

.ent-sec-d {
    font-size: 1rem;
    color: rgba(246, 243, 236, 0.7);
    line-height: 1.5;
}

/* Phases */
.ent-phases {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    position: relative;
}

.ent-phase {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 14px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
}

.ent-phase-num {
    font-family: var(--mono);
    font-size: 1.125rem;
    letter-spacing: 0.15em;
    color: var(--pen-2);
}

.ent-phase-t {
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--ink);
}

.ent-phase-d {
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.5;
    flex: 1;
}

.ent-phase-days {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.2rem;
    color: var(--signal);
    letter-spacing: -0.005em;
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--rule);
}

.ent-phase-arrow {
    position: absolute;
    top: 50%;
    right: -16px;
    transform: translateY(-50%);
    font-family: var(--mono);
    color: var(--pen-4);
    font-size: 14px;
    z-index: 1;
}

/* =========================================================
   Enterprise — Security Features (Chapter 04)
   ========================================================= */
.ent-sec-head {
    margin-bottom: 40px;
}

.esf-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.esf-card {
    --esf-tone: #13b87e;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.esf-card:hover {
    border-color: var(--esf-tone);
    box-shadow: 0 8px 32px -12px color-mix(in srgb, var(--esf-tone) 20%, transparent);
}

.esf-card-top {
    display: flex;
    align-items: flex-start;
    gap: 18px;
}

.esf-icon-wrap {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    background: color-mix(in srgb, var(--esf-tone) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--esf-tone) 22%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--esf-tone);
    font-size: 1.5rem;
}

.esf-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--ink);
    letter-spacing: -0.015em;
    margin-bottom: 3px;
}

.esf-sub {
    font-family: var(--mono);
    font-size: 0.875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--esf-tone);
}

.esf-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.esf-bullets li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.55;
}

.esf-check {
    color: var(--esf-tone);
    font-size: 1.1rem;
    flex-shrink: 0;
    margin-top: 1px;
}

/* =========================================================
   Enterprise — AI Gateway section (Chapter 05)
   ========================================================= */
.gw-section {
    background: var(--paper-2);
    border-top: 1px solid rgba(19, 184, 126, 0.12);
    border-bottom: 1px solid rgba(19, 184, 126, 0.12);
    padding: 72px 0;
}

.gw-section .chapter-row {
    border-color: rgba(246, 243, 236, 0.08);
}

.gw-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}


.gw-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(19, 184, 126, 0.25);
    border-radius: 14px;
    padding: 28px 26px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: border-color 0.2s, background 0.2s;
}

.gw-card:hover {
    background: rgba(19, 184, 126, 0.07);
    border-color: rgba(19, 184, 126, 0.32);
}

.gw-icon {
    font-size: 1.6rem;
    line-height: 1;
}

.gw-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: rgba(246, 243, 236, 0.92);
    letter-spacing: -0.015em;
    line-height: 1.25;
}

.gw-desc {
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.6;
    margin: 0;
    flex: 1;
}

.gw-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: auto;
}

.gw-chip {
    font-family: var(--mono);
    font-size: 0.75rem;
    letter-spacing: 0.07em;
    color: #05c3dd;
    background: rgb(5 195 221 / 10%);
    border: 1px solid rgb(5 195 221 / 30%);
    border-radius: 4px;
    padding: 2px 6px;
}

/* =========================================================
   Team page
   ========================================================= */
.tm-founders {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    max-width: 85%;
    margin: 0 auto;
}

.tm-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.tm-face {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: all 0.2s var(--ease);
}

.tm-face:hover {
    border-color: var(--pen-4);
    transform: translateY(-2px);
}

.leader.tm-founders{
	display: flex;
    justify-content: center;
}

.leader-item.tm-face{
	width: 50%;
}

.tm-face-frame {
    position: relative;
    aspect-ratio: 1;
    background: var(--paper-2);
    border: 1px dashed var(--rule);
    border-radius: 12px;
    overflow: hidden;
}

.tm-face-frame img{
	width: 100%;
}

.tm-face-frame image-slot {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2;
}

.tm-face-fallback {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

.tm-face-mon {
    font-family: var(--serif);
    font-style: italic;
    font-size: clamp(2rem, 5vw, 4rem);
    color: var(--pen-3);
    letter-spacing: -0.03em;
}

.tm-face.is-large .tm-face-frame {
    aspect-ratio: 4 / 4;
}

.tm-face.is-large .tm-face-frame img{
   	width: 100%;
    height: 100%;
    object-fit: cover;
}

.tm-face-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 4px 6px 8px;
}

.tm-face-role {
    font-family: var(--mono);
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--signal);
    font-weight: 500;
}

.tm-face-name {
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--ink);
}

.tm-face-bio {
    margin-top: 6px;
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.5;
}

.tm-track-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.tm-track {
    background: var(--paper-3);
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: clamp(24px, 3vw, 34px);
}

.tm-track h3 {
    font-size: clamp(1.5rem, 2.5vw, 2.25rem);
    letter-spacing: -0.03em;
    margin-top: 14px;
}

.tm-track p {
    color: var(--pen-2);
    line-height: 1.6;
    margin-top: 14px;
}

.tm-track ul {
    list-style: none;
    display: grid;
    gap: 10px;
    margin-top: 22px;
    color: var(--pen-2);
}

.tm-track li::before {
    content: '✓';
    color: var(--signal);
    margin-right: 10px;
}



/* Team roles list */
.tm-roles {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tm-role {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 22px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    transition: all 0.2s;
    cursor: pointer;
}

.tm-role:hover {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(19, 184, 126, 0.4);
    transform: translateX(4px);
}

.tm-role-t {
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--ink);
}

.tm-role-d {
    font-size: 0.88rem;
    color: rgba(246, 243, 236, 0.6);
    margin-top: 2px;
}

.tm-role-arrow {
    color: var(--pen-4);
    font-family: var(--mono);
    font-size: 14px;
    transition: transform 0.2s;
}

.tm-role:hover .tm-role-arrow {
    color: #5dd3a1;
    transform: translateX(4px);
}



.stack-tech-wrap {
    margin-top: 32px;
    padding: 20px 24px;
    background: var(--paper-2);
    border: 1px solid var(--pen-4);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.stack-tech-label {
    font-family: var(--mono);
    font-size: 0.875rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-2);
}

.stack-tech-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.stack-tech-pill {
    font-family: var(--mono);
    font-size: 0.875rem;
    padding: 4px 10px;
    border-radius: 100px;
    background: var(--white);
    color: var(--pen-2);
    border: 1px solid var(--rule);
}



/* =========================================================
   Capability row — editorial alternating layout (features + ai)
   ========================================================= */
.cap-row {
    display: flex;
    gap: 4rem;
    align-items: center;
    padding: 56px 0;
    border-top: 1px solid var(--rule);
}

.cap-row:first-of-type {
    border-top: none;
    padding-top: 24px;
}

.cap-row.is-flip .cap-media {
    order: 2;
}

.cap-media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
}

.cap-frame {
    position: relative;
    width: 100%;
/*     aspect-ratio: 4 / 3; */
/*     background: var(--paper-2); */
/*     border: 1px dashed var(--rule); */
    border-radius: 12px;
    overflow: hidden;
}

.cap-frame image-slot {
    display: block;
    width: 100%;
    height: 100%;
}

.cap-content {
    display: flex;
    flex-direction: column;
	align-items: start;
    gap: 14px;
	width: 50%
}

.cap-eye {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: var(--mono);
    font-size: 1rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-2);
}

.cap-eye-num {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--tone);
    line-height: 1;
}

.cap-eye-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--tone);
}

.cap-eye-lbl {
    font-weight: 500;
}

.cap-title {
    font-size: clamp(1.7rem, 4vw, 2.7rem);
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.05;
    color: var(--ink);
    margin-bottom: 0;
}

.cap-title span{
	font-size: clamp(1.2rem, 4vw, 2rem);
/* 	color: var(--pen-3); */
}

.cap-tag {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.5rem;
    color: var(--ink);
    letter-spacing: -0.005em;
    line-height: 1.3;
    margin: 0;
}

.cap-pitch {
    font-size: 1.125rem;
    color: var(--pen-2);
    line-height: 1.6;
    margin: 0;
    max-width: 56ch;
}

.cap-points {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-left: 2px solid var(--tone);
    padding-left: 18px;
    margin-top: 4px;
}

.cap-points li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.5;
}

.cap-bullet {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--tone);
    flex-shrink: 0;
    margin-top: 9px;
}

.cap-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 16px;
    font-family: var(--mono);
}

.cap-chip{
	padding: 3px 12px;
	border: 1px solid var(--pen-3);
	color: var(--pen-2);
	font-size: 0.875rem;
    letter-spacing: 0.05em;
	border-radius: 100px;
}

.cap-content .btn{
	background: var(--tone) !important;
}

/* =========================================================
   AI Pillar custom visuals
   ========================================================= */
.cap-vis {
    width: 100%;
    aspect-ratio: 4 / 3;
    background: var(--paper-2);
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
    overflow: hidden;
}

.cap-vis-lbl {
    position: absolute;
    bottom: 14px;
    left: 24px;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-3);
}

/* LLM list */
.cap-vis-list {
    gap: 8px;
    padding: 24px;
    justify-content: center;
}

.cap-vis-row {
    display: grid;
    grid-template-columns: 24px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 10px 14px;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 10px;
}

.cap-vis-row-d {
    font-family: var(--serif);
    font-style: italic;
    font-size: 18px;
    color: #13b87e;
    text-align: center;
}

.cap-vis-row-n {
    font-size: 0.92rem;
    font-weight: 500;
    color: var(--ink);
}

.cap-vis-row-m {
    font-family: var(--mono);
    font-size: 0.78rem;
    color: var(--pen-3);
}

/* Fine-tune stack */
.cap-vis-finetune {
    align-items: center;
    justify-content: center;
}

.cap-vis-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.cap-vis-layer {
    padding: 12px 24px;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 10px;
    font-family: var(--mono);
    font-size: 0.85rem;
    color: var(--pen-2);
    min-width: 220px;
    text-align: center;
}

.cap-vis-layer.is-tone {
    background: var(--signal-soft);
    border-color: color-mix(in srgb, var(--signal) 30%, transparent);
    color: var(--signal-2);
    font-weight: 600;
}

.cap-vis-layer.is-out {
    background: var(--paper);
    border-color: var(--rule);
    color: var(--ink);
    font-weight: 600;
}

.cap-vis-plus,
.cap-vis-eq {
    font-family: var(--serif);
    font-style: italic;
    font-size: 22px;
    color: var(--pen-4);
}

/* Retrieval list */
.cap-vis-retrieval {
    gap: 8px;
    padding: 24px;
    justify-content: center;
}

.cap-vis-q {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1rem;
    color: var(--ink);
    padding: 12px 16px;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 10px;
    margin-bottom: 6px;
    letter-spacing: -0.005em;
}

.cap-vis-step {
    font-family: var(--mono);
    font-size: 0.82rem;
    color: var(--pen-2);
    padding: 6px 14px;
}

.cap-vis-step.is-out {
    color: var(--signal-2);
    background: var(--signal-soft);
    border: 1px solid color-mix(in srgb, var(--signal) 30%, transparent);
    border-radius: 8px;
    padding: 10px 14px;
}

.cap-vis-step.is-out em {
    font-style: normal;
    font-weight: 600;
}

/* Vectors */
.cap-vis-vectors {
    padding: 12px;
}

.cap-vis-vectors svg {
    flex: 1;
}

/* Voice waveform — base styles (animation in is-animated only) */
.cap-vis-voice {
    gap: 16px;
    padding: 24px;
    justify-content: center;
}

.cap-vis-langs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cap-vis-lang {
    padding: 6px 12px;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 100px;
    font-size: 0.85rem;
    color: var(--ink);
    letter-spacing: -0.005em;
}

.cap-vis-wave {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    height: 50px;
    margin-top: 8px;
}

/* Vision */
.cap-vis-vision {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: stretch;
    padding: 24px;
}

.cap-vis-page {
    padding: 16px 20px;
    background: repeating-linear-gradient(180deg, transparent 0 22px, rgba(13, 17, 23, 0.08) 22px 23px), linear-gradient(180deg, #faf6ea, #f0e8d3);
    border: 1px solid var(--rule);
    border-radius: 8px;
    font-size: 0.85rem;
}

.cap-vis-page.is-out {
    background: var(--white);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
}

/* Safety */
.cap-vis-safety {
    padding: 24px;
    justify-content: center;
}

.cap-vis-gate {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cap-vis-pass {
    padding: 8px 14px;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 8px;
    font-family: var(--mono);
    font-size: 0.82rem;
    color: var(--pen-2);
    letter-spacing: -0.005em;
}

.cap-vis-pass.is-out {
    background: var(--signal-soft);
    border-color: color-mix(in srgb, var(--signal) 30%, transparent);
    color: var(--signal-2);
    font-weight: 600;
}

.cap-vis-gate-arrow {
    text-align: center;
    font-family: var(--mono);
    color: var(--signal);
    margin: 2px 0;
}

/* =========================================================
   AI page — dark animation canvases
   ========================================================= */

/* Base dark canvas */
.cap-vis-dark {
    background: #060810;
    border-color: rgba(19, 184, 126, 0.18);
}

.cap-vis-dark .cap-vis-lbl {
    color: rgba(93, 211, 161, 0.45);
}

/* Status bar (agents) */
.cvs-status-bar {
    display: flex;
    align-items: center;
    gap: 7px;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.07em;
    color: rgba(93, 211, 161, 0.55);
    flex-shrink: 0;
    padding: 0 2px;
}

.cvs-online-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #5dd3a1;
    animation: ai-blink 2s ease-in-out infinite;
    box-shadow: 0 0 5px #5dd3a1;
}

/* Agent SVG animations */
.ai-edge-flow {
    animation: ai-dash 2.2s linear infinite;
}

.ai-center-pulse {
    animation: ai-opacity-pulse 2.5s ease-in-out infinite;
}

.ai-node-in {
    opacity: 0;
    animation: ai-fade-up 0.4s both;
}

.is-animated .ai-node-in {
    opacity: 1;
}

/* Terminal chrome */
.cap-vis-terminal {
    padding: 0;
    gap: 0;
}

.cvt-header {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    border-bottom: 1px solid rgba(19, 184, 126, 0.12);
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.02);
}

.cvt-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
}

.cvt-red {
    background: #ff5f57;
}

.cvt-yellow {
    background: #febc2e;
}

.cvt-green {
    background: #28c840;
}

.cvt-title {
    margin-left: 6px;
    font-family: var(--mono);
    font-size: 10px;
    color: rgba(246, 243, 236, 0.35);
    letter-spacing: 0.04em;
}

.cvt-body {
    flex: 1;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    overflow: hidden;
}

/* LLM router rows */
.cvt-route-row {
    display: grid;
    grid-template-columns: 1fr 18px 1fr auto auto;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    background: rgba(19, 184, 126, 0.06);
    border: 1px solid rgba(19, 184, 126, 0.14);
    border-left: 2px solid #13b87e;
    border-radius: 6px;
    font-family: var(--mono);
    font-size: 10.5px;
}

.cvt-task {
    color: rgba(246, 243, 236, 0.65);
}

.cvt-arr {
    color: #13b87e;
    text-align: center;
}

.cvt-model {
    color: #5dd3a1;
    font-weight: 600;
}

.cvt-badge {
    font-size: 9px;
    padding: 2px 6px;
    border-radius: 20px;
    background: rgba(19, 184, 126, 0.12);
    border: 1px solid rgba(19, 184, 126, 0.25);
    color: rgba(93, 211, 161, 0.8);
    letter-spacing: 0.04em;
}

.cvt-lat {
    color: rgba(246, 243, 236, 0.28);
    font-size: 10px;
    text-align: right;
}

/* Fine-tune log */
.cvt-log {
    font-family: var(--mono);
    font-size: 11px;
    color: rgba(246, 243, 236, 0.6);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cvt-prompt {
    color: #13b87e;
    margin-right: 6px;
}

.cvt-hi {
    color: rgba(93, 211, 161, 0.9);
}

.cvt-ok {
    color: #5dd3a1;
}

.cvt-prog-wrap {
    height: 3px;
    background: rgba(19, 184, 126, 0.15);
    border-radius: 2px;
    margin-top: 5px;
    overflow: hidden;
}

.cvt-prog {
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, #13b87e, #5dd3a1);
    border-radius: 2px;
    animation: ai-progress 1.4s ease-out both;
}

/* Safety gate rows */
.cvt-gate-row {
    font-family: var(--mono);
    font-size: 11px;
    color: rgba(246, 243, 236, 0.7);
    padding: 7px 10px;
    background: rgba(19, 184, 126, 0.06);
    border: 1px solid rgba(19, 184, 126, 0.14);
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cvt-ok {
    color: #5dd3a1;
}

.cvt-cleared {
    font-family: var(--mono);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #5dd3a1;
    text-align: center;
    padding: 11px;
    border: 1px solid rgba(19, 184, 126, 0.5);
    border-radius: 8px;
    background: rgba(19, 184, 126, 0.12);
    box-shadow: 0 0 18px rgba(19, 184, 126, 0.18);
    margin-top: 2px;
}

/* Cursor blink */
.cvt-cursor-line {
    font-family: var(--mono);
    font-size: 13px;
    color: rgba(93, 211, 161, 0.6);
    display: flex;
    align-items: center;
    gap: 4px;
}

.cvt-blink {
    animation: ai-blink 1s step-end infinite;
}

/* RAG / retrieval */
.cap-vis-rag {
    padding: 18px;
    gap: 10px;
    justify-content: center;
}

.cvr-query {
    background: rgba(19, 184, 126, 0.08);
    border: 1px solid rgba(19, 184, 126, 0.22);
    border-radius: 10px;
    padding: 10px 14px;
    font-family: var(--serif);
    font-style: italic;
    font-size: 0.88rem;
    color: rgba(246, 243, 236, 0.85);
    line-height: 1.45;
}

.cvr-qlabel {
    display: block;
    font-family: var(--mono);
    font-style: normal;
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #13b87e;
    margin-bottom: 5px;
}

.cvr-steps {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cvr-step {
    display: grid;
    grid-template-columns: 22px 62px 1fr;
    align-items: center;
    gap: 9px;
    padding: 7px 11px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 7px;
    font-family: var(--mono);
    font-size: 10.5px;
}

.cvr-step-answer {
    background: rgba(19, 184, 126, 0.11);
    border-color: rgba(19, 184, 126, 0.32);
}

.cvr-n {
    color: rgba(246, 243, 236, 0.25);
    font-size: 9.5px;
}

.cvr-verb {
    color: #13b87e;
    font-weight: 600;
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.cvr-detail {
    color: rgba(246, 243, 236, 0.65);
}

.cvr-step-answer .cvr-detail {
    color: #5dd3a1;
    font-weight: 600;
}

/* Vectors */
.cap-vis-vec {
    padding: 6px;
}

.ai-ring-pulse {
    animation: ai-opacity-pulse 3s ease-in-out infinite;
}

.ai-dot-in {
    animation: ai-fade-up 0.3s both;
}

.ai-ripple-ring {
    animation: ai-ripple 1.8s ease-out infinite;
}

/* Voice */
.cap-vis-voice-d {
    padding: 18px;
    gap: 12px;
    justify-content: center;
}

.cvv-langs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.cvv-lang {
    padding: 4px 10px;
    background: rgba(19, 184, 126, 0.1);
    border: 1px solid rgba(19, 184, 126, 0.2);
    border-radius: 100px;
    font-size: 0.8rem;
    color: rgba(246, 243, 236, 0.8);
}

.cvv-wave {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 46px;
    gap: 1.5px;
}

.cvv-bar {
    flex: 1;
    border-radius: 2px;
    background: linear-gradient(to top, #13b87e, #5dd3a1);
    min-height: 4px;
    transform: scaleY(0.25);
    transform-origin: center bottom;
    animation: ai-wave 1s ease-in-out infinite alternate;
}

.cvv-transcript {
    padding: 9px 12px;
    background: rgba(19, 184, 126, 0.07);
    border: 1px solid rgba(19, 184, 126, 0.18);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cvv-t-badge {
    font-family: var(--mono);
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #13b87e;
}

.cvv-t-text {
    font-size: 0.82rem;
    color: rgba(246, 243, 236, 0.72);
    line-height: 1.4;
}

/* Vision / OCR */
.cap-vis-ocr {
    padding: 14px;
    gap: 8px;
}

.cvo-page {
    padding: 12px;
    background: repeating-linear-gradient(180deg, transparent 0 21px, rgba(13, 17, 23, 0.06) 21px 22px),
        linear-gradient(180deg, #faf6ea, #f0e8d3);
    border: 1px solid rgba(19, 184, 126, 0.18);
    border-radius: 8px;
    position: relative;
    overflow: hidden;
}

.cvo-scan {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #5dd3a1, transparent);
    animation: ai-scan 2.8s ease-in-out infinite;
    opacity: 0.85;
}

.cvo-out {
    background: rgba(19, 184, 126, 0.05);
    border: 1px solid rgba(19, 184, 126, 0.18);
    border-radius: 8px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
}

.cvo-row {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 7px;
    font-family: var(--mono);
    font-size: 10px;
}

.cvo-k {
    color: rgba(246, 243, 236, 0.38);
}

.cvo-v {
    color: #5dd3a1;
    font-weight: 600;
}

/* Shared stagger entrance */
.ai-in {
    opacity: 0;
    animation: ai-fade-up 0.38s both;
}

.is-animated .ai-in {
    opacity: 1;
}

/* ── Keyframe library ──────────────────────────────────── */
@keyframes ai-blink {

    0%,
    49% {
        opacity: 1;
    }

    50%,
    100% {
        opacity: 0;
    }
}

@keyframes ai-dash {
    to {
        stroke-dashoffset: -18;
    }
}

@keyframes ai-opacity-pulse {

    0%,
    100% {
        opacity: 0.35;
    }

    50% {
        opacity: 0.75;
    }
}

@keyframes ai-fade-up {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ai-progress {
    from {
        width: 0;
    }

    to {
        width: var(--pct, 80%);
    }
}

@keyframes ai-wave {
    from {
        transform: scaleY(0.15);
    }

    to {
        transform: scaleY(1);
    }
}

@keyframes ai-scan {
    0% {
        top: -2px;
        opacity: 0;
    }

    5% {
        opacity: 0.85;
    }

    95% {
        opacity: 0.85;
    }

    100% {
        top: 100%;
        opacity: 0;
    }
}

@keyframes ai-ripple {
    0% {
        r: 5;
        opacity: 0.9;
    }

    100% {
        r: 18;
        opacity: 0;
    }
}

/* =========================================================
   Features page — feature explorer
   ========================================================= */
.fx-stage {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 24px;
    align-items: flex-start;
}

.fx-rail {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: 8px;
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 84px;
}



.fx-rail-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-3);
    border-bottom: 1px solid var(--rule);
    margin-bottom: 6px;
}

.fx-rail-btn {
    --tone: #13b87e;
    display: grid;
    grid-template-columns: 32px 1fr 14px;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 10px;
    cursor: pointer;
    text-align: left;
    transition: all 0.15s var(--ease);
    width: 100%;
}

.fx-rail-btn:hover {
    background: var(--paper-2);
}

.fx-rail-btn.is-active {
    background: var(--paper-2);
    border-color: var(--rule);
    box-shadow: inset 3px 0 0 var(--tone);
    padding-left: 14px;
}

.fx-rail-num {
    font-family: var(--mono);
    font-size: 10px;
    color: var(--pen-3);
    font-weight: 500;
}

.fx-rail-btn.is-active .fx-rail-num {
    color: var(--tone);
}

.fx-rail-name {
    font-size: 0.92rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--ink);
    line-height: 1.25;
}

.fx-rail-arrow {
    color: var(--pen-4);
    font-family: var(--mono);
    opacity: 0;
    transition: opacity 0.15s, transform 0.2s;
}

.fx-rail-btn:hover .fx-rail-arrow {
    opacity: 0.6;
}

.fx-rail-btn.is-active .fx-rail-arrow {
    opacity: 1;
    color: var(--tone);
    transform: translateX(2px);
}

.fx-rail-foot {
    margin-top: 8px;
    padding: 14px 12px 6px;
    border-top: 1px solid var(--rule);
}

/* Panel */
.fx-panel {
    --tone: #13b87e;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 18px;
    padding: clamp(24px, 3vw, 36px);
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
    overflow: hidden;
}

.fx-panel::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--tone);
}

.fx-panel-head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    align-items: flex-end;
}


.fx-panel-eye {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-3);
    margin-bottom: 8px;
}

.fx-panel-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.fx-panel-title {
    font-size: clamp(1.6rem, 2.6vw, 2.2rem);
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.05;
    color: var(--ink);
}

.fx-panel-tag {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.1rem;
    color: var(--pen-2);
    letter-spacing: -0.005em;
    margin-top: 6px;
    line-height: 1.3;
}

.fx-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.fx-chip {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.04em;
    padding: 4px 9px;
    border-radius: 100px;
    background: var(--paper-2);
    border: 1px solid var(--rule);
    color: var(--pen-2);
}

/* Image slot frame */
.fx-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: var(--paper-2);
    border: 1px dashed var(--rule);
    border-radius: 14px;
    overflow: hidden;
}

.fx-frame image-slot {
    display: block;
    width: 100%;
    height: 100%;
}

/* Detail */
.fx-detail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.fx-pitch {
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.6;
    margin: 0;
}

.fx-points {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-left: 1px solid var(--rule);
    padding-left: 20px;
}

.fx-points li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.92rem;
    color: var(--pen-2);
    line-height: 1.45;
}

.fx-bullet {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 8px;
}

.fx-panel-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid var(--rule);
    padding-top: 18px;
}

.fx-pager {
    display: inline-flex;
    gap: 6px;
}

.fx-pager-btn {
    background: var(--paper-2);
    border: 1px solid var(--rule);
    border-radius: 8px;
    padding: 7px 12px;
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.04em;
    color: var(--pen-2);
    cursor: pointer;
    transition: all 0.15s;
}

.fx-pager-btn:hover {
    background: var(--white);
    color: var(--ink);
    border-color: var(--pen-4);
}

/* =========================================================
   Features page — OLD pillar layout (kept for backwards compat)
   ========================================================= */
.fp-pillar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    padding: 64px 0;
    border-top: 1px solid var(--rule);
}

.fp-pillar:first-of-type {
    border-top: none;
    padding-top: 0;
}

.fp-pillar-reverse> :first-child {
    order: 2;
}

.fp-pillar-num {
    font-family: var(--serif);
    font-style: italic;
    font-size: 4rem;
    font-weight: 400;
    color: var(--heritage);
    line-height: 1;
    letter-spacing: -0.04em;
    margin-bottom: 16px;
}

.fp-pillar h3 {
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    font-weight: 500;
    letter-spacing: -0.025em;
    line-height: 1.1;
    margin-bottom: 16px;
}

.fp-pillar h3 em {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
}

.fp-pillar p {
    font-size: 1.05rem;
    color: var(--pen-2);
    line-height: 1.55;
    margin-bottom: 16px;
}

.fp-mini-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 24px;
}

.fp-mini-cell {
    padding: 14px;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 10px;
}

.fp-mini-cell-label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-3);
    margin-bottom: 6px;
}

.fp-mini-cell-val {
    font-size: 0.92rem;
    color: var(--ink);
    letter-spacing: -0.005em;
    font-weight: 500;
}

/* PDF Annotation simulator */
.pdfa {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 16px;
    overflow: hidden;
}

.pdfa-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: var(--paper-2);
    border-bottom: 1px solid var(--rule);
}

.pdfa-tool {
    padding: 5px 10px;
    border-radius: 6px;
    border: 1px solid var(--rule);
    background: var(--white);
    font-size: 0.8rem;
    color: var(--pen-2);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.pdfa-tool.is-active {
    background: var(--signal);
    color: white;
    border-color: var(--signal);
}

.pdfa-title {
    margin-left: auto;
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pen-3);
}

.pdfa-page {
    padding: 28px 28px 60px;
    font-family: var(--serif);
    font-size: 0.95rem;
    color: var(--ink);
    line-height: 1.7;
    background:
        repeating-linear-gradient(180deg, transparent 0 26px, rgba(13, 17, 23, 0.04) 26px 27px),
        var(--white);
    min-height: 360px;
    position: relative;
}

.pdfa-page h4 {
    font-family: var(--sans);
    font-size: 0.95rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 12px;
}

.pdfa-page p {
    margin-bottom: 12px;
    font-style: italic;
}

.pdfa-hl {
    background: rgba(255, 207, 102, 0.5);
    padding: 1px 2px;
    border-radius: 2px;
    font-style: normal;
}

.pdfa-note {
    position: absolute;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 10px;
    padding: 10px 12px;
    box-shadow: 0 8px 16px -10px rgba(13, 17, 23, 0.2);
    font-family: var(--sans);
    font-style: normal;
    font-size: 0.82rem;
    color: var(--pen-2);
    max-width: 220px;
}

.pdfa-note::before {
    content: '';
    position: absolute;
    top: -6px;
    left: 16px;
    width: 10px;
    height: 10px;
    background: var(--white);
    border-top: 1px solid var(--rule);
    border-left: 1px solid var(--rule);
    transform: rotate(45deg);
}

.pdfa-note-label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--signal);
    margin-bottom: 4px;
    font-weight: 500;
}

/* =========================================================
   Pricing page
   ========================================================= */
.pp-tiers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 32px;
}

.pp-tier {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 20px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
}

.pp-tier.is-featured {
    background: var(--paper);
    color: var(--ink);
    border-color: rgba(19, 184, 126, 0.45);
    transform: translateY(-8px);
    box-shadow: 0 24px 60px -32px var(--signal-glow);
}

.pp-tier-flag {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--signal);
    color: white;
    padding: 6px 20px;
    border-radius: 100px;
    font-family: var(--mono);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 500;
    white-space: nowrap;
}

.pp-tier-name {
    font-family: var(--mono);
    font-size: 1rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-2);
    font-weight: 500;
}

/* .pp-tier.is-featured .pp-tier-name {
    color: rgba(246, 243, 236, 0.6);
} */

.pp-tier-price {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-top: -4px;
}

.pp-tier-price-amount {
    font-family: var(--serif);
    font-style: italic;
    font-size: 3.5rem;
    font-weight: 400;
    letter-spacing: -0.04em;
    line-height: 1;
}

.pp-tier-price-period {
    font-size: 1.125rem;
    color: var(--pen-2);
}

/* .pp-tier.is-featured .pp-tier-price-period {
    color: rgba(246, 243, 236, 0.6);
} */

.pp-tier-tag {
    font-size: 1.125rem;
    color: var(--pen-2);
    line-height: 1.5;
    font-family: var(--serif);
    font-style: italic;
    letter-spacing: -0.005em;
}

/* .pp-tier.is-featured .pp-tier-tag {
    color: rgba(246, 243, 236, 0.8);
} */

.pp-tier ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
    font-size: 1.125rem;
    border-top: 1px solid var(--rule);
    padding: 20px 0 24px 0;
}

/* .pp-tier.is-featured ul {
    border-top-color: rgba(255, 255, 255, 0.1);
} */

.pp-tier li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: var(--pen-2);
    line-height: 1.4;
}

/* .pp-tier.is-featured li {
    color: rgba(246, 243, 236, 0.85);
} */

.pp-tier li::before {
    content: '✓';
    color: var(--signal);
    font-size: 1.125rem;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 0px;
}

/* .pp-tier.is-featured li::before {
    color: #5dd3a1;
} */

.pp-tier .btn {
    margin-top: auto;
    font-size: 1rem;
}

.pp-tier .btn-primary {
    background: var(--paper);
    color: var(--ink);
    border-color: var(--rule);
    box-shadow: none;
}

.pp-tier .btn-primary:hover {
    background: var(--paper-2);
    border-color: rgba(255, 255, 255, 0.12);
}

/* ROI calculator */
.roi {
    margin: 5rem auto 0 auto;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 20px;
    padding: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    max-width: 80%;
}


.roi-inputs {
    padding: 32px;
    border-right: 1px solid var(--rule);
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.roi-input {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.roi-input-label {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.roi-input-label>span:first-child {
    font-size: 1.2rem;
    color: var(--pen-2);
}

.roi-input-label>span:last-child {
    font-family: var(--mono);
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--ink);
}

.roi-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 4px;
    background: var(--paper-2);
    border-radius: 2px;
    outline: none;
}

.roi-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    background: var(--signal);
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid var(--white);
    box-shadow: 0 2px 8px rgba(13, 17, 23, 0.2);
}

.roi-slider::-moz-range-thumb {
    width: 18px;
    height: 18px;
    background: var(--signal);
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid var(--white);
}

.roi-input-footer{
    background: var(--paper-2);
    border: 1px solid var(--rule);
    border-radius: 10px;
    padding: 16px 16px;
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.5;
}

.roi-out {
    padding: 32px;
    background: var(--paper);
    color: var(--ink);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.roi-big-num {
    font-family: var(--serif);
    font-style: italic;
    font-size: 4rem;
    font-weight: 400;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--signal);
}

.roi-big-label {
    font-family: var(--mono);
    font-size: 1rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(246, 243, 236, 0.8);
    margin-top: 0.5rem;
}

.roi-line {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 12px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.92rem;
}

.roi-line-label {
    color: rgba(246, 243, 236, 0.7);
    font-size: 1.125rem;
}

.roi-line-val {
    color: var(--ink);
    font-weight: 500;
    font-family: var(--mono);
    font-size: 1.125rem;
}

/* Comparison table */
.cmp {
    width: 100%;
    border-collapse: collapse;
    margin-top: 24px;
	border-color: transparent;
}

.cmp th,
.cmp td {
    padding: 16px 18px;
    text-align: left;
    border-bottom: 1px solid var(--rule);
    font-size: 1rem;
}

.cmp thead th {
    font-family: var(--mono);
    font-size: 1rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-2);
    font-weight: 600;
    background: var(--paper-2);
    border-bottom: 1px solid var(--rule);
}

.cmp th:not(:first-child),
.cmp td:not(:first-child) {
    text-align: center;
}

.cmp td:first-child {
    color: var(--ink);
    font-weight: 500;
}

.cmp .yes {
    color: var(--signal);
    font-weight: 600;
}

.cmp .no {
    color: var(--pen-2);
}

.cmp tbody tr:hover {
    background: var(--paper-2);
}

.faq-item {
    border-top: 1px solid var(--rule);
    padding: 20px 0;
}

.faq-item summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.25rem;
    font-weight: 500;
	gap: 5rem;
    letter-spacing: -0.01em;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::after {
    content: '+';
    font-family: var(--mono);
    font-size: 1.9rem;
    color: var(--pen-2);
    transition: transform 0.3s;
}

.faq-item[open] summary::after {
    transform: rotate(45deg);
}

.faq-item p {
    margin-top: 12px;
    color: var(--pen-2);
    font-size: 1.125rem;
    line-height: 1.6;
}

.common-faq {
    background: var(--paper-2);
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
}

.common-faq-grid {
    display: grid;
    grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(32px, 6vw, 72px);
    align-items: start;
}

/* =========================================================
   Home app downloads
   ========================================================= */
.app-downloads {
    background: var(--paper);
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
}

.app-download-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}



.app-card,
.app-start-card {
    min-height: 300px;
    background: var(--paper-3);
    border: 1px solid var(--rule);
    border-radius: 8px;
    padding: clamp(24px, 3vw, 30px);
}

.app-card h3,
.app-start-card h3 {
    font-size: clamp(1.35rem, 1.8vw, 1.9rem);
    letter-spacing: -0.02em;
	margin-bottom: 0;
}

.store-badge{
	margin-top: 24px;
	display: inline-block;
}

.store-badge img{
	width: 200px;
}

.app-card-head {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 42px;
}

.app-card-icon {
    color: var(--ink);
    font-size: 34px;
}

.store-badge small {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.78);
    margin-bottom: 2px;
}

.store-icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: white;
    color: black;
    font-family: var(--mono);
    font-weight: 700;
}

.platform-row {
    display: flex;
    gap: 34px;
    margin-top: 14px;
    color: var(--pen-2);
    font-size: 1rem;
}

.platform-row span::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 12px;
    border: 1px solid currentColor;
    border-radius: 2px;
    margin-right: 8px;
    vertical-align: -1px;
}

.app-link-list {
    display: grid;
    gap: 18px;
    list-style: none;
    margin-top: 0;
}

.app-link-list li{
    display: flex;
    align-items: center;
    gap: 1rem;
}

.app-link-list li i{
    font-size: 1.5rem;
}

.app-link-list a {
    color: var(--ink);
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.app-start-card {
    position: relative;
    overflow: hidden;
    display: grid;
    place-items: center;
    text-align: center;
    isolation: isolate;
}

/* .app-start-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(5, 7, 12, 0.92), rgba(5, 7, 12, 0.48)),
        radial-gradient(50% 60% at 60% 80%, rgba(93, 211, 161, 0.22), transparent 70%);
    z-index: -1;
} */

.app-start-card p {
    color: var(--ink-2);
    font-size: 1.15rem;
    line-height: 1.45;
    margin: 22px auto 32px;
    max-width: 22ch;
}

/* =========================================================
   Community page
   ========================================================= */
.session {
    border: 1px solid var(--pen-3);
    border-radius: 12px;
    background: var(--paper-3);
    overflow: hidden;
    box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .9);
}

.session-bar {
    display: flex;
    align-items: center;
	justify-content: space-between;
    gap: 8px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--pen-3);
    background: var(--white);
}

.dot-list {
    display: flex;
    gap: 6px;
}

.dot-list-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.session-bar .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--pen-3);
}

.session-bar .name {
    margin-left: 6px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.875rem;
    color: var(--pen-2);
}

.session-bar .net {
    margin-left: auto;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.875rem;
    color: var(--signal);
    display: flex;
    align-items: center;
    gap: 6px;
}

.session-pulse {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--signal);
    box-shadow: 0 0 0 0 rgba(74, 222, 128, .5);
    animation: pulse 2.4s infinite;
}

@keyframes pulse {
    70% {
        box-shadow: 0 0 0 7px rgba(74, 222, 128, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(74, 222, 128, 0);
    }
}

.session-body {
    padding: 1rem 1rem 1.5rem 1rem;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.875rem;
    line-height: 1.85;
}

.session-body .p {
    color: var(--dim);
}

.session-body .u {
    color: var(--pen-2);
}

.session-body .t {
    color: var(--signal);
}

.session-body .w {
    color: #F1BE67;
}

.session-body .m {
    color: var(--pen-2);
}

.session-foot {
    border-top: 1px solid var(--pen-3);
    padding: 10px 16px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    color: var(--pen-2);
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.community-audiences,
.community-tags,
.community-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.community-tags{
	gap: 7px;
}

.community-audiences span {
    border: 1px solid var(--pen-4);
    border-radius: 100px;
    padding: 6px 14px;
    color: var(--pen-2);
    background: var(--paper-2);
    font-size: 0.875rem;
}

.community-tags span {
    border: 1px solid var(--pen-4);
    border-radius: 10px;
    padding: 4px 12px;
    color: var(--pen-2);
    background: var(--paper-2);
    font-size: 0.875rem;
}


.ledger {
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    background: var(--paper-2);
}

.ledger-in {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1px;
}

.ledger-cell {
    padding: 36px 30px;
}

.ledger-in .ledger-cell:not(:last-child) {
    border-right: 1px solid var(--rule);
}

.ledger-cell .k {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--pen-2);
    margin-bottom: 10px;
}

.ledger-cell .v {
    font-size: 1.375rem;
    font-weight: 600;
    letter-spacing: -.01em;
    margin-bottom: 6px;
}

.ledger-cell .v.no {
    color: var(--signal);
}

.ledger-cell p {
    font-size: 1rem;
    line-height: 1.55;
    margin-bottom: 0;
}

.data-path-flow {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    align-items: center;
    gap: 14px;
    border: 1px solid var(--pen-4);
    border-radius: 10px;
    background: var(--paper-3);
    padding: 26px;
}

.data-path-node {
    border: 1px solid var(--pen-4);
    border-radius: 8px;
    padding: 16px;
    text-align: center;
}

.data-path-node .t {
    font-size: 1.325rem;
    font-weight: 600;
    margin-bottom: 4px
}

.data-path-node .s {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.875rem;
}

.data-path-node.cut {
    border-style: dashed;
    opacity: 0.75;
}

.data-path-node.cut .t {
    text-decoration: line-through;
}

.data-path-arrow {
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
}

.data-flow-note {
    margin-top: 14px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 1rem;
}

.wf {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--pen-4);
    border: 1px solid var(--pen-4);
    border-radius: 10px;
    overflow: hidden;
    margin-top: 2rem;
}

.wf-item {
    background: var(--paper-3);
    padding: 24px 20px;
    transition: all .15s;
}

.wf-item:hover {
    background: var(--panel-2);
}

.wf-item .n {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.875rem;
    color: var(--signal);
    font-weight: 600;
    margin-bottom: 12px;
	text-transform: uppercase;
}

.wf-item h3 {
    font-size: 1.25rem;
    margin-bottom: 8px;
}

.wf-item p {
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.6;
    margin-bottom: 0;
}

.prov-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: var(--pen-4);
    border: 1px solid var(--pen-4);
    border-radius: 10px;
    overflow: hidden;
}

.prov-item {
    background: var(--paper-3);
    padding: 20px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.prov-item .p {
    font-size: 1rem;
    font-weight: 500;
}

.prov-item .k {
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.875rem;
	flex-shrink: 0;
}

.community-disc {
    border: 1px solid var(--rule);
    border-left: 2px solid var(--signal);
    border-radius: 10px;
    background: var(--paper-2);
    padding: 26px 28px;
    margin-top: 2rem;
}

.community-disc .k {
    font-family: 'JetBrains Mono', monospace;
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin-bottom: 12px;
    color: var(--signal);
}

.community-disc p {
    font-size: 1rem;
    color: var(--pen-2);
    max-width: 80ch;
    margin-bottom: 10px;
}

.community-pricing {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.community-plan,
.community-tool,
.community-two article,
.contact-address,
.contact-method,
.contact-form,
.contact-office-card {
    background: var(--paper-3);
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: clamp(24px, 3vw, 34px);
}

.community-plan.is-pro {
    border-color: rgba(196, 154, 63, 0.35);
}

.community-plan h3,
.community-tool h3 {
    font-size: clamp(1.45rem, 3vw, 2rem);
    margin-top: 14px;
}

.community-plan p,
.community-tool p,
.community-two p,
.contact-address p {
    color: var(--pen-2);
    line-height: 1.65;
    margin-top: 14px;
}

.community-plan h4 {
    margin-top: 30px;
    font-family: var(--mono);
    font-size: 1rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-2);
}

.community-plan ul,
.community-tool ul,
.community-two ul {
    list-style: none;
    display: grid;
    gap: 10px;
    margin-top: 16px;
    color: var(--pen-2);
}

.community-plan li::before,
.community-tool li::before,
.community-two li::before {
    content: '✓';
    color: var(--signal);
    margin-right: 10px;
}

.community-price {
    margin: 28px 0 18px;
    font-family: var(--serif);
    font-style: italic;
    font-size: clamp(2.6rem, 5vw, 4rem);
    line-height: 1;
}

.community-price span {
    display: block;
    margin-top: 8px;
    font-family: var(--sans);
    font-style: normal;
    font-size: 0.875rem;
	font-weight: 600;
    color: var(--pen-2);
}

.community-tools {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.community-stack {
    margin-top: 16px;
    font-family: var(--mono);
    font-size: 0.875rem;
    line-height: 1.6;
    color: var(--heritage);
    letter-spacing: 0.04em;
}

.community-tool .btn {
    margin-top: 20px;
}

.community-two {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
	margin-top: 3rem;
}

.community-two article h2{
	font-size: clamp(1.5rem, 3vw, 1.8rem);
	margin-bottom: 1.5rem;
}

.community-quote {
    margin: 40px auto;
    max-width: 860px;
    text-align: center;
    font-family: var(--serif);
    font-style: italic;
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: 1.1;
    color: var(--ink);
}

.community-quote span {
    display: block;
    margin-top: 18px;
    font-family: var(--sans);
    font-style: normal;
    font-size: 1.2rem;
    color: var(--pen-2);
}

.community-stats {
    justify-content: center;
}

.community-stats div {
    min-width: 180px;
    text-align: center;
    border: 1px solid var(--rule);
    border-radius: 14px;
    padding: 22px;
    background: var(--paper-3);
}

.community-stats strong {
    display: block;
    font-family: var(--serif);
    font-style: italic;
    font-size: 2.8rem;
}

.community-stats span {
    color: var(--pen-2);
    font-size: 1.1rem;
}

.community-final {
    background: var(--paper-3);
    border: 1px solid var(--rule);
    border-radius: 24px;
    padding: clamp(40px, 6vw, 80px);
    text-align: center;
}

.community-final .lede {
    margin-left: auto;
    margin-right: auto;
}

.origin-note {
    margin-top: 22px;
    padding: 14px 16px;
    border-left: 2px solid var(--heritage);
    background: var(--heritage-soft);
    color: var(--pen-2);
    font-size: 0.85rem;
    line-height: 1.55;
}

/* =========================================================
   Contact page
   ========================================================= */
.contact-hero,
.contact-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: clamp(32px, 6vw, 72px);
    align-items: start;
}

.contact-methods {
    display: grid;
    gap: 12px;
    flex: 1;
}

.contact-method {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
}

.contact-address{
    flex: 1;
}

.contact-method span,
.contact-office-card span {
    font-family: var(--mono);
    font-size: 1rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-2);
}

.contact-method strong {
    color: var(--ink);
    font-weight: 500;
    text-align: right;
    font-size: 1.1rem;
}

.contact-form {
    display: grid;
    gap: 28px;
}

.contact-form br{
    display: none;
}

.contact-form p{
    margin-bottom: 0;
}

.contact-form label{
    font-family: var(--mono);
    font-size: 1rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pen-2);
    margin-bottom: 6px;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    border: 1px solid var(--rule);
    border-radius: 12px;
    background: var(--paper);
    color: var(--ink);
    padding: 13px 14px;
    font: inherit;
    outline: none;
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: var(--signal);
}

.contact-form input:disabled {
    color: var(--pen-3);
    cursor: wait;
}

.contact-form .wpcf7-submit{
    background: var(--signal) !important;
    font-weight: 500 !important;
    color: #fff !important;
}

.wpcf7-not-valid-tip{
    font-size: 0.875rem;
}

.wpcf7-response-output{
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: red;
}

.wpcf7-form.sent .wpcf7-response-output{
    color: #13b87e;
}

.contact-hp {
    position: absolute;
    left: -10000px;
    width: 1px !important;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.contact-status {
    border: 1px solid var(--rule);
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 0.92rem;
    line-height: 1.45;
}

.contact-status.is-success {
    border-color: rgba(19, 184, 126, 0.32);
    background: rgba(19, 184, 126, 0.1);
    color: #8ee8c0;
}

.contact-status.is-error {
    border-color: rgba(224, 92, 84, 0.32);
    background: rgba(224, 92, 84, 0.1);
    color: #f0a09a;
}

.contact-office {
    max-width: 760px;
}

.contact-office-card {
    margin-top: 28px;
}

.contact-office-card p{
    color: var(--ink);
    line-height: 1.65;
    font-size: 1.2rem;
    margin-top: 14px;
}


/* =========================================================
   Migration page
   ========================================================= */
.mig-stage {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 32px;
    align-items: stretch;
}

.mig-steps {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mig-step {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: 20px 24px;
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 16px;
    cursor: pointer;
    transition: all 0.25s var(--ease);
}

.mig-step:hover {
    border-color: var(--pen-4);
}

.mig-step.is-active {
    border-color: rgba(196, 154, 63, 0.45);
    background: var(--heritage-soft);
    color: var(--ink);
    box-shadow: 0 10px 24px -16px rgba(13, 17, 23, 0.3);
}

.mig-step-num {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--paper-2);
    color: var(--heritage);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--serif);
    font-style: italic;
    font-size: 22px;
    font-weight: 400;
}

.mig-step.is-active .mig-step-num {
    background: var(--heritage);
    color: var(--paper);
}

.mig-step-title {
    font-size: 1.05rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    margin-bottom: 4px;
}

.mig-step-desc {
    font-size: 0.9rem;
    color: var(--pen-2);
    line-height: 1.5;
}

.mig-step.is-active .mig-step-desc {
    color: rgba(246, 243, 236, 0.75);
}

.mig-preview {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 20px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 84px;
    min-height: 520px;
}

.mig-preview-tab {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-3);
    margin-bottom: 16px;
}

.mig-preview-stage {
    flex: 1;
    border: 1px solid var(--rule);
    border-radius: 14px;
    overflow: hidden;
    position: relative;
}

/* Migration phone mock */
.mig-phone {
    position: absolute;
    inset: 0;
    background: var(--paper);
    color: var(--ink);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mig-phone-frame {
    width: 200px;
    height: 360px;
    margin: 0 auto;
    background: #14202e;
    border: 6px solid #0a0e1a;
    border-radius: 26px;
    padding: 12px;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mig-phone-notch {
    position: absolute;
    top: 4px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 14px;
    background: #0a0e1a;
    border-radius: 0 0 10px 10px;
}

.mig-phone-screen {
    flex: 1;
    background: #1e2937;
    border-radius: 14px;
    padding: 16px 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow: hidden;
    position: relative;
}

.mig-scan-frame {
    position: absolute;
    inset: 24px 16px;
    border: 2px solid var(--signal);
    border-radius: 8px;
    box-shadow: 0 0 24px rgba(19, 184, 126, 0.4);
}

.mig-scan-corner {
    position: absolute;
    width: 20px;
    height: 20px;
    border: 2px solid var(--signal);
}

.cap-row-reverse {
    flex-direction: row-reverse;
}

.lexedge-cross-platform-section {
    background: var(--paper-2);
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
}

.fx-cross {
    display: flex;
    align-items: center;
    gap: 16px;
}

.fx-cross-card {
    flex: 1;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 14px;
    padding: 20px 22px;
}

.fx-cross-card-title {
    font-size: 1.375rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    margin-bottom: 6px;
}

.fx-cross-card-description {
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.5;
}

.cta-pilot-box {
    background: var(--paper-3);
    color: var(--ink);
    border: 1px solid var(--rule);
    border-radius: 24px;
    padding: clamp(40px, 6vw, 80px);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.cta-pilot-bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(60% 40% at 50% 0%, rgb(5 195 221 / 15%), transparent 70%);
    pointer-events: none;
}

.cta-pilot-content {
    position: relative;
    max-width: 640px;
    margin: 0 auto;
}

.cta-pilot-title {
    color: var(--ink);
}

.cta-pilot-description {
    color: rgba(246, 243, 236, 0.7);
    margin: 24px auto 32px;
}

.cta-pilot-buttons {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

.cta-pilot-footer{
    color: var(--pen-2);
    font-size: 1.125rem;
}

.lexent-head {
    display: grid;
    gap: 48px;
    align-items: end;
    margin-bottom: 40px;
}

.lexent-head-hardware {
    grid-template-columns: 1.15fr 0.85fr;
}

.lexent-head-security {
    grid-template-columns: 0.85fr 1.15fr;
}

.lexent-head-rollout {
    grid-template-columns: 1fr 1fr;
}

.lexent-arch-grid {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 48px;
    align-items: center;
}

.image-slot-placeholder {
    border: 1px dashed var(--rule);
    border-radius: 14px;
    min-height: 320px;
    display: grid;
    place-items: center;
    padding: 32px;
    color: var(--pen-2);
    text-align: center;
}

.lexent-cta-grid {
    background: var(--paper-3);
    color: var(--ink);
    border: 1px solid var(--rule);
    border-radius: 24px;
    padding: clamp(40px, 6vw, 80px);
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 40px;
    align-items: center;
}

.lexent-cta-bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(40% 60% at 100% 0%, rgba(14, 138, 95, 0.18), transparent 70%);
    pointer-events: none;
}

.lexent-cta-content,
.lexent-cta-items {
    position: relative;
}

.lexent-cta-buttons {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    flex-wrap: wrap;
}

.lexent-cta-buttons .btn-ghost {
    border-color: rgba(255, 255, 255, 0.2);
    color: var(--ink);
}

.lexent-cta-items {
    display: grid;
    gap: 8px;
}

.lexent-cta-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
}

.lexent-cta-item-title {
    font-family: var(--serif);
    font-style: italic;
    font-size: 1.1rem;
}

.lexent-cta-item-label {
    font-family: var(--mono);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    color: var(--signal);
    text-transform: uppercase;
}

.community-hero-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
}

.community-hero-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 24px
}

.community-pricing-section {
    background: var(--paper-2);
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule)
}

.community-pricing-head {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 32px
}

.community-tools-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 32px
}

.community-audience-section {
    background: var(--paper-2);
    border-top: 1px solid var(--rule)
}

.community-final-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 24px
}

.app-demo-code{
    height: 95vh;
    width: 80%;
    border-radius: 10px;
    overflow: hidden;
	margin: 0 auto;
	
}

.app-demo-code iframe{
    width: 100%;
    height: 100%;
    object-fit: cover;
    scrollbar-width: none; /* Firefox */
}

.app-demo-code iframe::-webkit-scrollbar{
    display: none; /* Chrome, Safari */
}

.app-demo-right-head {
    margin-bottom: 3rem;
}

.app-demo-right-head h3 {
    font-size: clamp(2rem, 4vw, 2.5rem);
    margin-bottom: 1.5rem;
}

.app-demo-right-head p {
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	color: var(--pen-2);
}

.app-demo-detail {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 20px;
    padding: 32px;
    position: relative;
}

.app-demo-title{
    font-size: 2.125rem;
    margin-bottom: 1.5rem;
}

.app-demo-desc {
    font-size: 1.125rem;
    color: var(--pen-2);
    line-height: 1.6;
}

.app-demo-desc p {
    margin-bottom: 0.75rem;
}

.app-demo-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 0 0 0;
    border-top: 1px solid var(--rule);
}

.app-demo-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 1.125rem;
    color: var(--pen-2);
    letter-spacing: -0.005em;
    position: relative;
    padding-left: 24px;
}

.app-demo-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M13.3332 4L5.99984 11.3333L2.6665 8' stroke='%235dd3a1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center center;
    background-size: contain;
}


/* ================================= */
/* How We Stop Hallucinatin Page Start */
/* ================================= */

/* ------- For Hero Section -------- */
.how-hero-row {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 44px;
    align-items: center;
}

.hero-viz {
    position: relative;
    aspect-ratio: 1 / 0.82;
    border: 1px solid var(--rule);
    border-radius: 20px;
    overflow: hidden;
    background: linear-gradient(180deg, #111928, #081024);
}

.hero-viz .lbl {
    position: absolute;
    font-size: 1rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--pen2);
}

.hv-stream {
    position: absolute;
    inset: 0;
    opacity: 0.5;
}

.hv-tok {
    position: absolute;
    font-family: ui-monospace, Menlo, monospace;
    font-size: 14px;
    color: var(--danger);
    white-space: nowrap;
    animation: drift linear infinite;
}

@keyframes drift {
    from {
        transform: translateX(-120%);
    }

    to {
        transform: translateX(760%);
    }
}

.hv-core {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 170px;
    height: 170px;
    border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--signal) 40%, transparent), transparent 70%);
    border: 1.5px solid color-mix(in srgb, var(--signal) 55%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 18px;
    animation: pulseCore 3.4s ease-in-out infinite;
}

@keyframes pulseCore {

    0%,
    100% {
        box-shadow: 0 0 0 0 color-mix(in srgb, var(--signal) 30%, transparent);
    }

    50% {
        box-shadow: 0 0 0 14px transparent;
    }
}

.hv-core b {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.3;
	color: #fff;
}

.hv-core b span {
    display: block;
    color: var(--signal);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-top: 6px;
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation: none !important;
        transition: none !important;
    }

    .anim {
        opacity: 1;
        transform: none;
    }
}

/* ------- For Calculator Section --------- */

.split2 {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 20px;
    margin-top: 4rem;
    align-items: start
}

.prob {
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: 22px;
    background: var(--paper-3)
}

.prob .q {
    font-size: 1.5rem;
    margin-bottom: 4px;
    font-weight: 600;
}

.prob .q .cursor {
    color: var(--danger)
}

.prob .cap {
    font-size: 1rem;
    color: var(--pen-2);
    margin-bottom: 18px
}

.prow {
    display: grid;
    grid-template-columns: 118px 1fr 44px;
    align-items: center;
    gap: 12px;
    margin-bottom: 11px
}

.prow .plab {
    font-size: 1rem;
    color: var(--pen-2);
    font-variant-numeric: tabular-nums
}

.ptrack {
    height: 12px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.10);
    overflow: hidden
}

.pbar {
    height: 100%;
    width: 0;
    border-radius: 6px;
    background: linear-gradient(90deg, var(--danger-dim, #7a3a33), var(--danger));
    transition: width 1.1s cubic-bezier(.2, .8, .2, 1)
}

.is-in .pbar {
    width: var(--pct)
}

.prow .ppct {
    font-size: 0.875rem;
    color: var(--pen);
    text-align: right;
    font-variant-numeric: tabular-nums
}

.prow.pick .plab,
.prow.pick .ppct {
    font-weight: 700
}

.prow.pick .pbar {
    background: linear-gradient(90deg, #8a3c33, var(--danger));
    box-shadow: 0 0 14px color-mix(in srgb, var(--danger) 45%, transparent)
}

.pick-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    font-size: 0.875rem;
    color: var(--danger);
    opacity: 0;
    transition: opacity .5s ease .9s
}

.is-in .pick-tag {
    opacity: 1
}

.prob .foot {
    margin-top: 16px;
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.55;
    border-top: 1px solid var(--rule);
    padding-top: 14px;
}

.prob .foot p {
    margin-bottom: 0;
}

.calc-card {
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: 22px;
    background: var(--paper-3);
    position: relative;
    overflow: hidden;
    margin-bottom: 16px
}

.calc-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--tone);
    ;
    opacity: .85
}

.calc-lbl {
    font-size: 1rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--tone);
    font-weight: 700;
    margin-bottom: 8px
}

.calc-eq {
    font-family: 'Iowan Old Style', Georgia, serif;
    font-size: 1.875rem;
    margin-bottom: 8px;
    letter-spacing: .02em
}

.calc-card p {
    margin: 0;
    color: var(--pen-2);
    font-size: 1rem;
    line-height: 1.5
}

/* -------- Answer the same question Section -------- */

.flow {
    margin-top: 3rem;
}

.flow-q {
    max-width: 45%;
    margin: 0 auto;
    text-align: center;
    border: 1px solid var(--rule);
    border-radius: 14px;
    padding: 15px 20px;
    background: var(--paper-3);
}

.flow-q .k {
    font-size: 1rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.flow-q .v {
    font-size: 1.375rem;
    font-weight: 600;
    margin-top: 4px;
}

.flow-split {
    width: 2px;
    height: 30px;
    background: var(--rule);
    margin: 0 auto;
}

.lanes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 6px;
}

.lane {
    border: 1px solid var(--rule);
    border-top: 3px solid var(--tone);
    border-radius: 18px;
    padding: 24px 24px 24px 24px;
    background: var(--paper-3);
    display: flex;
    flex-direction: column;
    gap: 0;
}

.lane.bad {
    --tone: var(--danger);
}

.lane.good {
    --tone: var(--signal);
}

.lane-h {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 1.125rem;
}

.lane-tag {
    font-size: 1rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--tone);
}

.lane-name {
    font-size: 1rem;
    font-weight: 600;
}

.node {
    border: 1px solid var(--rule);
    border-radius: 11px;
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.05);
    position: relative;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.lane.play .node {
    opacity: 1;
    transform: none;
}

.node .nt {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 3px;
}

.node .nd {
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.5;
}

.node.deterministic {
    border-color: color-mix(in srgb, var(--signal) 40%, transparent);
    background: color-mix(in srgb, var(--signal) 8%, transparent);
}

.node.llmonly {
    border-color: color-mix(in srgb, var(--signal) 40%, transparent);
    background: color-mix(in srgb, var(--signal) 8%, transparent);
}

.node .badge {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 700;
    padding: 3px 7px;
    border-radius: 6px;
}

.badge.no-ai {
    color: var(--signal);
    background: color-mix(in srgb, var(--signal) 16%, transparent);
}

.badge.ai {
    color: var(--signal);
    background: color-mix(in srgb, var(--signal) 16%, transparent);
}

.arrow {
    width: 3px;
    height: 16px;
    margin: 5px auto;
    position: relative;
    background: color-mix(in srgb, var(--tone) 30%, transparent);
    border-radius: 2px;
    overflow: hidden;
}

.arrow::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -40%;
    height: 40%;
    background: var(--tone);
    border-radius: 2px;
    animation: down 1.8s linear infinite;
}

@keyframes down {
    from {
        top: -45%;
    }

    to {
        top: 105%;
    }
}

.outcome {
    margin-top: 8px;
    border-radius: 11px;
    padding: 13px 15px;
    font-weight: 600;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 11px;
    opacity: 0;
    transform: scale(0.96);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.lane.play .outcome {
    opacity: 1;
    transform: none;
}

.outcome.bad {
    background: color-mix(in srgb, var(--danger) 15%, transparent);
    color: var(--danger);
}

.outcome.good {
    background: color-mix(in srgb, var(--signal) 16%, transparent);
    color: var(--signal);
}

.outcome .mark {
    flex: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #04120c;
    font-weight: 800;
}

.outcome.bad .mark {
    background: var(--danger);
}

.outcome.good .mark {
    background: var(--signal);
}

.lane.good.play .outcome .mark {
    animation: stamp 0.55s cubic-bezier(0.2, 1.5, 0.3, 1) 0.2s both;
}

@keyframes stamp {
    0% {
        transform: scale(0) rotate(-25deg);
    }

    100% {
        transform: scale(1) rotate(0);
    }
}

/* animated search dots inside retrieval node */
.searching {
    display: inline-flex;
    gap: 4px;
    margin-left: 6px;
    vertical-align: middle;
}

.searching i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--signal);
    animation: blink 1.2s infinite;
}

.searching i:nth-child(2) {
    animation-delay: 0.2s;
}

.searching i:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes blink {

    0%,
    100% {
        opacity: 0.25;
    }

    50% {
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation: none !important;
        transition: none !important;
    }

    .anim {
        opacity: 1;
        transform: none;
    }

    .node,
    .outcome {
        opacity: 1;
        transform: none;
    }
}

/* --------- For Millions of Judgments Section -------- */

.anim {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.7s cubic-bezier(0.2, 0.7, 0.2, 1),
        transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.anim.is-in {
    opacity: 1;
    transform: none;
}

.stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 3rem 0 3rem 0;
}

.stat {
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: 22px 20px;
    background: var(--paper-3);
}

.stat .num {
    font-family: 'Iowan Old Style', Georgia, serif;
    font-size: clamp(28px, 4vw, 40px);
    color: var(--signal);
    letter-spacing: -0.01em;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.stat .cap {
    font-size: 1rem;
    color: var(--pen);
    margin-top: 0.875rem;
    line-height: 1.45;
}

.pipe {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    margin-top: 4px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.pipe-node {
    flex: 1 1 0;
    min-width: 150px;
    border: 1px solid var(--rule);
    border-radius: 14px;
    padding: 15px 14px;
    background: var(--paper-3);
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.pipe.play .pipe-node {
    opacity: 1;
    transform: none;
}

.pipe-node .pk {
    font-size: 0.875rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--signal);
    font-weight: 700;
    margin-bottom: 6px;
}

.pipe-node .pn {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 14px;
    line-height: 1.2;
}

.pipe-node .pd {
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.45;
}

.pipe-arrow {
    flex: none;
    align-self: center;
    color: color-mix(in srgb, var(--signal) 65%, transparent);
    font-size: 20px;
    padding: 0 8px;
}

.pillars-label {
    font-size: 1.125rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 13px;
    margin: 4rem 0 0 0;
}

.pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 1.5rem;
}

.pillar {
    border: 1px solid var(--rule);
    border-radius: 16px;
    padding: 22px 20px;
    background: var(--paper-3);
}

.pillar .pi {
    width: 56px;
    height: 56px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--signal) 15%, transparent);
    margin-bottom: 1.25rem;
}

.pillar .pi svg {
    width: 32px;
    height: 32px;
    stroke: var(--signal);
    fill: none;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.pillar h3 {
    margin: 0 0 14px 0;
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.pillar p {
    margin: 0;
    color: var(--pen);
    font-size: 1rem;
    line-height: 1.55;
}

.retrieval-wrap {
    margin-top: 26px;
}

.retrieval-label {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--pen2);
    margin-bottom: 13px;
}

.shot {
    aspect-ratio: 16 / 8;
    border-radius: 16px;
    border: 1px solid var(--paper-3);
    background: var(--paper-3);
    text-align: center;
    padding: 24px;
    overflow: hidden;
}

.shot img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ------- I don't know" comparison section ------- */
.dk {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 3rem;
}

.dk-card {
    border: 1px solid var(--rule);
    border-top: 3px solid var(--tone);
    border-radius: 16px;
    padding: 22px;
    background: var(--paper-3);
    position: relative;
    overflow: hidden;
}

.dk-card.bad {
    --tone: var(--danger);
}

.dk-card.good {
    --tone: var(--signal);
}

.dk-tag {
    font-size: 1.125rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--tone);
    margin-bottom: 14px;
}

.dk-q {
    font-size: 1rem;
    color: var(--pen-2);
    margin-bottom: 1rem;
}

.dk-bubble {
    border: 1px solid color-mix(in srgb, var(--tone) 35%, transparent);
    border-radius: 12px;
    padding: 13px 15px;
    font-size: 1rem;
    line-height: 1.5;
    background: color-mix(in srgb, var(--tone) 8%, transparent);
}

.dk-note {
    font-size: 1rem;
    color: var(--pen-2);
    margin-top: 1rem;
    line-height: 1.5;
}

/* ================== */
/* How We Stop Hallucinatin Page End */
/* ================== */


/* ================== */
/* Security & Privacy Page Start */
/* ================== */

/* ------- hero section ------- */
.sp-hero-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 26px
}

.sp-hero-pill {
    font-size: 0.875rem;
    color: var(--pen-2);
    border: 1px solid var(--pen-3);
    font-weight: 300;
    border-radius: 999px;
    padding: 6px 13px;
    background: rgba(255, 255, 255, 0.02)
}

.sp-hero-pill b {
	color: inherit;
    font-weight: 700
}

/* ------- cards section ------- */

.security-card-col {
    display: flex;
    flex-direction: column;
    gap: 7rem;
}

.security-card-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.security-card {
    background: var(--paper-3);
    border: 1px solid var(--pen-4);
    border-top: 2px solid var(--tone);
    border-radius: 16px;
    padding: 24px 22px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.security-card-ico {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--tone, var(--teal)) 16%, transparent);
    margin-bottom: 1.25rem;
}

.security-card-ico svg {
    width: 2rem;
    height: 2rem;
    stroke: var(--tone, var(--teal));
    fill: none;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.security-card h3 {
    font-size: 1.5rem;
    letter-spacing: -.01em;
    margin-bottom: 0.875rem;
    font-weight: 600;
    line-height: 1.25;
}

.security-card p {
    margin-bottom: 1.375rem;
    font-size: 1.125rem;
    line-height: 1.6;
    color: var(--pen-2);
}

.security-card ul {
    list-style: none;
    margin: auto 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
    color: var(--pen-2);
}

.security-card li {
    font-size: 1rem;
    display: flex;
    gap: 9px;
    line-height: 1.45;
}

.security-card li::before {
    content: "";
    flex: none;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--tone, var(--teal));
    margin-top: 7px;
}

/* ================== */
/* Security & Privacy Page End */
/* ================== */

/* ================== */
/* Where To Begin Page Start */
/* ================== */

/* ------- The tutorial trap -------- */
.loop {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 2.5rem 0 2rem 0;
}

.loop-track {
    display: flex;
    align-items: stretch;
    gap: 0;
    padding-bottom: 6px;
}

.loop-step {
    flex: 1 0 auto;
    min-width: 120px;
    position: relative;
    padding: 16px 14px;
    border: 1px dashed var(--pen-4);
    border-radius: 12px;
    margin-right: 30px;
    background: rgba(255, 255, 255, 0.015);
}

.loop-step:last-child {
    margin-right: 0;
}

.loop-step::after {
    content: "→";
    position: absolute;
    right: -24px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--pen-2);
    font-size: 18px;
}

.loop-step:last-child::after {
    content: "↺";
    right: -26px;
    color: var(--danger);
    font-weight: 700;
}

.loop-step .k {
    font-size: 0.875rem;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--pen-2);
    margin-bottom: 6px;
}

.loop-step .v {
    font-size: 1.125rem;
    line-height: 1.35;
}

.loop-note {
    font-size: 1.125rem;
    color: var(--danger);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.loop-note::before {
    content: "";
    width: 16px;
    height: 1px;
    background: var(--danger);
}

.probs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 6px
}

.prob {
    border: 1px solid var(--rule);
    border-left: 3px solid var(--danger);
    border-radius: 14px;
    padding: 22px 20px 20px;
    background: var(--paper-3);
    position: relative;
    overflow: hidden;
}

.prob .pnum {
    font-family: 'Iowan Old Style', Georgia, serif;
    font-size: 1.375rem;
    color: var(--danger);
    letter-spacing: .04em;
}

.prob h3 {
    font-size: 1.5rem;
    margin: 9px 0 8px;
    font-weight: 600;
    letter-spacing: -.01em;
    line-height: 1.2;
}

.prob p {
    color: var(--pen-2);
    font-size: 1rem;
    line-height: 1.55;
    margin: 0;
}

.prob .no {
    margin-top: 13px;
    font-size: 1rem;
    color: var(--danger);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 7px;
}

.prob .no::before {
    content: "✕";
    font-size: 11px;
    opacity: .9;
}

/* ------ How LexEdge works ------ */
.pivot {
    border: 1px solid color-mix(in srgb, var(--signal) 34%, var(--rule));
    border-radius: 20px;
    padding: clamp(22px, 4vw, 46px);
    background: var(--paper-3);
}

.buzz {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}

.buzz .b {
    font-size: 11.5px;
    font-family: ui-monospace, 'SF Mono', Menlo, monospace;
    color: var(--pen-2);
    border: 1px solid var(--rule);
    border-radius: 8px;
    padding: 5px 11px;
    background: rgba(255, 255, 255, 0.02);
    position: relative;
}

.buzz .b.hidden-tag {
    color: var(--pen2);
    text-decoration: line-through;
    /* text-decoration-color: color-mix(in srgb, var(--signal) 90%, transparent); */
    text-decoration-color: var(--ink-3);
}

.buzz-cap {
    margin-top: 12px;
    font-size: 1.125rem;
    color: var(--signal);
    font-weight: 600;
}

/* -------- BEGIN SERVICE SECTION --------- */

.omni {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    width: 100%;
}

.omni .surface {
    border: 1px solid var(--rule);
    border-radius: 12px;
    padding: 24px 14px;
    text-align: center;
    background: var(--paper-3);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.omni .surface i {
    font-size: 1.625rem;
    color: var(--tone);
}

.omni .surface span {
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.2;
}

.omni-core {
    margin-top: 1.5rem;
    text-align: center;
    font-size: 1rem;
    color: var(--tone);
    font-weight: 600;
    letter-spacing: .02em;
}

.assure {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.assure .a {
    border: 1px solid var(--rule);
    border-radius: 12px;
    padding: 15px 16px;
    background: var(--paper-3);
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.assure .a i {
    font-size: 1.625rem;
    color: var(--tone);
    margin-top: 0.25rem;
}

.assure .a .t {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 2px;
}

.assure .a .d {
    font-size: 0.875rem;
    color: var(--pen-2);
    line-height: 1.45;
}

.gap-media {
    width: 100%;
    aspect-ratio: 16/12;
    border-radius: 16px;
    border: 1px solid color-mix(in srgb, var(--tone) 32%, var(--rule));
    background: radial-gradient(70% 80% at 50% 20%, color-mix(in srgb, var(--tone) 16%, transparent), transparent 70%), linear-gradient(180deg, #161a22, #11141b);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 8px;
    padding: 26px;
}

.gap-media i {
    font-size: 3rem;
    color: var(--tone);
    margin-top: 0.25rem;
}

.gap-media .ring {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--tone);
    border: 1px dashed color-mix(in srgb, var(--tone) 55%, transparent);
    border-radius: 20px;
    padding: 5px 14px;
}

.gap-media .gt {
    font-size: 1.5rem;
    font-weight: 600;
}

.gap-media .gd {
    font-size: 1rem;
    color: var(--pen-2);
    max-width: 26ch;
    line-height: 1.5;
}

.cta-footer-btn {
    gap: 2rem 2rem;
    margin-top: 2rem;
}

.cta-footer-btn a {
    text-decoration: underline;
}
/* ================== */
/* Where To Begin Page End */
/* ================== */


/* ================== */
/* Pricing list dynamic Start */
/* ================== */
/* .lexedge-pricing-container {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding: 20px 0 30px 0;
} */

.lexedge-pricing-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 20px 0 30px 0;
}

.lexedge-pricing-card {
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 20px;
    padding: 32px 32px 124px 32px;
    position: relative;
    transition: transform 0.3s ease;
}

.lexedge-pricing-card:hover {
    transform: translateY(-5px);
    border-color: var(--signal);
}

.lexedge-pricing-card-top {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.lexedge-plan-name {
    font-family: var(--mono);
    font-size: 1rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pen-2);
    font-weight: 500;
}

.lexedge-price-wrapper {
    display: flex;
    align-items: baseline;
}

.lexedge-currency,
.lexedge-price {
    font-family: var(--serif);
    font-style: italic;
    font-size: 3.75rem;
    font-weight: 400;
    letter-spacing: -0.04em;
    line-height: 1;
}

.lexedge-period {
    font-size: 16px;
    margin-left: 8px;
}

.lexedge-plan-description {
    font-size: 1.25rem;
    color: var(--pen-2);
    line-height: 1.5;
    font-family: var(--serif);
    font-style: italic;
    letter-spacing: -0.005em;
}

.lexedge-features-title {
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #fff;
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
}

.lexedge-features-list {
    list-style: none;
    padding: 0;
    margin: 0 0 0 0;
    flex-grow: 1;
}

.lexedge-feature-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    color: var(--pen-2);
    line-height: 1.4;
}

.lexedge-feature-icon {
    color: var(--signal);
    margin-right: 12px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lexedge-feature-icon::after {
    /*     content: "✔"; */
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 1.125rem;
}

.lexedge-cta-button {
    background: linear-gradient(135deg, #0A4D68 0%, #05C3DD 100%) !important;
    color: white;
    text-align: center;
    padding: 16px 20px;
    border-radius: 10px;
    text-decoration: none !important;
    font-weight: 500;
    transition: opacity 0.3s;
    position: absolute;
    display: inline-block;
    width: 82%;
    left: 50%;
    transform: translateX(-50%);
    bottom: 5%;
}

.lexedge-cta-button:hover {
    color: white;
}

/* For Lase Child */
.lexedge-pricing-container>.lexedge-pricing-card:nth-child(4) {
    grid-column: 1 / -1;
    display: flex;
    gap: 4rem;
    padding: 32px 32px 32px 32px;
}

.lexedge-pricing-container>.lexedge-pricing-card:nth-child(4) .lexedge-pricing-card-top {
    width: 35%;
}

.lexedge-pricing-container>.lexedge-pricing-card:nth-child(4) .lexedge-features-title {
    margin-top: 0;
}

.lexedge-pricing-container>.lexedge-pricing-card:nth-child(4) .lexedge-pricing-card-body {
    padding-left: 4rem;
    border-left: 1px solid var(--rule);
    flex-grow: 1;
}

.lexedge-pricing-container>.lexedge-pricing-card:nth-child(4) .lexedge-cta-button {
    position: absolute;
    width: 30%;
    transform: none;
    margin-top: 2rem;
    left: 32px;
    bottom: 32px;
}

/* Custom Scrollbar */
.lexedge-pricing-container::-webkit-scrollbar {
    display: none;
}

/* ================== */
/* Pricing list dynamic End */
/* ================== */
.nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav ul {
    display: flex; /* if your menu is horizontal */
}

/* ================== */
/* Blog Page Start */
/* ================== */
.blog-listing {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem 2.5rem;
}

.blog-item .blog-img-container{
	border-radius: 0.625rem;
	overflow: hidden;
}

.blog-item .blog-img-container img{
	transition: all 0.3s;
}

.blog-item:hover .blog-img-container img{
	transform: scale(1.1);
}

.blog-item h4{
	margin: 1.5rem 0 1rem 0;
	font-size: 1.625rem;
    line-height: 1.2;
}

.blog-item p{
	font-size: 1.125rem;
	-webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    text-overflow: -o-ellipsis-lastline;
    -webkit-line-clamp: 4;
}

.blog-listing-wrap .pagination {
    gap: 1rem;
    align-items: center;
    justify-content: center;
    margin-top: 4rem;
}

.blog-listing-wrap .page-numbers{
    width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--accent);
    border-radius: 100px;
	background: var(--accent);
}

.blog-listing-wrap .page-numbers.current{
	border: 1px solid var(--accent);
	background: transparent;
}

.blog-listing-wrap .page-numbers.dots{
    border: none;
	background: transparent;
}

.blog-listing-wrap .page-numbers.next , .blog-listing-wrap .page-numbers.prev{
    border-radius: 50px;
    width: auto;
    padding: 0 1rem;
}

/* ================== */
/* Blog Page End */
/* ================== */

/* After Theme Changes Start  */
.elementor-widget-n-accordion .e-n-accordion-item-title{
	color : #FFFFFF !important;
}

.elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title{
	color : #FFFFFF !important;
}

.elementskit-post-body .elementskit-btn{
	background: none !important;
}

.elementskit-post-body .elementskit-btn:hover{
	background: none !important;
}

.search-form .search-submit[type="submit"]{
	background-color: #05c3dd !important;
}

.search-form .search-submit[type="submit"]:hover{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231a1a1a' aria-hidden='true' width='15' height='15' viewBox='0 0 15 15'%3E%3Cpath d='M14.8,13.7L12,11c0.9-1.2,1.5-2.6,1.5-4.2c0-3.7-3-6.8-6.8-6.8S0,3,0,6.8s3,6.8,6.8,6.8c1.6,0,3.1-0.6,4.2-1.5l2.8,2.8c0.1,0.1,0.3,0.2,0.5,0.2s0.4-0.1,0.5-0.2C15.1,14.5,15.1,14,14.8,13.7z M1.5,6.8c0-2.9,2.4-5.2,5.2-5.2S12,3.9,12,6.8S9.6,12,6.8,12S1.5,9.6,1.5,6.8z'%3E%3C/path%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
    background-position: center !important;
}

.keydesign-widget li{
	color: #fff !important;
}

.feature-det-content > ul > li strong{
	color: inherit;
}

#site-header .elementskit-menu-hamburger{
	background: transparent !important;
}

.glightbox-clean .gclose, .glightbox-clean .gnext, .glightbox-clean .gprev{
	background: rgba(0, 0, 0, .32) !important;
    box-shadow: none !important;
}

.widget-area.keydesign-sidebar section{
	padding: 0 0;
}	

.single.single-post .content-area .article-content.article-single li{
	color: var(--pen-2) !important;
}

/* After Theme Changes End  */

/* New Community Page Change Start */
.assurance-banner {
    display: grid;
    grid-template-columns: 1.25fr repeat(3, 0.75fr);
    border: 1px solid var(--pen-3);
    background: linear-gradient(110deg, rgba(24, 213, 230, 0.14), rgba(8, 39, 53, 0.3));
}

.assurance-lead,
.assurance-point {
    padding: 16px 18px;
}

.assurance-lead {
    font-size: 1.125rem;
}

.assurance-lead strong {
    color: var(--signal);
}

.assurance-point {
    border-left: 1px solid var(--pen-3);
}

.assurance-point strong {
    display: block;
    color: var(--signal);
    text-transform: uppercase;
    letter-spacing: .14em;
}

.assurance-point span {
    display: block;
    margin-top: 5px;
    font-size: 1rem;
    line-height: 1.35;
}

.flash-cursor {
    display: inline-block;
    width: 7px;
    height: 13px;
    background: var(--signal);
    vertical-align: -2px;
    animation: blink 1.1s step-end infinite;
}

@keyframes blink {
    50% {
        opacity: 0;
    }
}
/* ── Flow rail (how it works) ─────────────────────────── */
.flow-rail {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 44px;
    border: 1px solid var(--rule);
    border-radius: 12px;
    overflow: hidden;
}

.flow-step {
    position: relative;
    min-height: 122px;
    padding: 19px;
    border-right: 1px solid var(--rule);
    background: var(--paper-2);
}

.flow-step:last-child {
    border-right: 0;
}

.flow-step::after {
    content: '\2192';
    position: absolute;
    right: -4%;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    color: var(--signal);
    background: var(--paper-2);
    padding: 0 3px;
    font-weight: 400;
    font-size: 1.25rem;
}

.flow-step:last-child::after {
    display: none;
}

.flow-step small {
    color: var(--signal);
    font-family: var(--mono);
    font-weight: 500;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.flow-step strong {
    display: block;
    margin: 10px 0 5px;
    font-weight: 600;
    font-size: 1.375rem;
    color: var(--ink);
}

.flow-step span {
    display: block;
    color: var(--pen-2);
    font-size: 1rem;
    line-height: 1.4;
}
/* ── Privacy board ────────────────────────────────────── */
.privacy-board {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid var(--rule);
    border-radius: 12px;
    overflow: hidden;
}

.privacy-copy {
    padding: 36px;
    background: var(--paper-2);
}

.privacy-copy h3 {
    font-size: 2rem;
    font-weight: 600;
    margin: 0 0 16px;
    color: var(--ink);
}

.privacy-copy p {
    color: var(--pen-2);
    font-size: 1rem;
}

.check-list {
    list-style: none;
    padding: 0;
    margin: 24px 0 0;
}

.check-list li {
    position: relative;
    padding: 10px 0 10px 23px;
    border-top: 1px solid var(--rule);
    color: var(--pen-2);
    font-size: 1.125rem;
}

.check-list li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    color: var(--signal);
}

.privacy-diagram {
    display: grid;
    align-content: center;
    padding: 34px;
    background: var(--paper-3);
}

.privacy-node {
    border: 1px solid var(--rule);
    padding: 13px 15px;
    color: var(--pen-2);
    font-weight: 400;
    font-size: 1.125rem;
    border-radius: 8px;
}

.privacy-node strong {
    color: var(--ink);
}

.privacy-arrow {
    text-align: center;
    color: var(--signal);
    height: 28px;
    font-weight: 400;
    font-size: 1rem;
    line-height: 28px;
}
/* New Community Page Change Start */


/* —— Hero Video Placeholder (.vph) —— */
.vph {
    position: relative;
    aspect-ratio: 9 / 12;
    max-width: 90%;
    margin: 0 auto;
    border-radius: 1rem;
    overflow: hidden;
    background: linear-gradient(160deg, var(--paper-2), var(--paper-3));
    border: 1px solid var(--rule);
}

.vph .tag {
    position: absolute;
    top: 0.875rem;
    left: 0.875rem;
    font-family: var(--mono);
    font-size: 0.625rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--heritage);
    background: var(--heritage-soft);
    padding: 0.3125rem 0.5625rem;
    border-radius: 0.375rem;
}

.vph .play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 3.625rem;
    height: 3.625rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    border: 1.5px solid rgba(255, 255, 255, .4);
    display: flex;
    align-items: center;
    justify-content: center;
}

.vph .play::after {
    content: "";
    border-left: 1rem solid #fff;
    border-top: 0.625rem solid transparent;
    border-bottom: 0.625rem solid transparent;
    margin-left: 0.25rem;
}

.vph .cap {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1rem;
    background: linear-gradient(0deg, var(--paper-2), transparent);
    font-size: 0.8125rem;
    color: var(--ink);
}

/* —— Pain Cards Grid —— */
.pain-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-top: 2rem;
}

.pain-card {
    background: var(--white);
    color: var(--ink);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    padding: 24px;
}

.pain-card .x {
    color: var(--danger);
    font-size: 2rem;
    margin-bottom: 0.75rem;
    display: block;
}

.pain-card h3 {
    margin: 0 0 0.5rem;
}

/* —— Bridge Banner —— */
.bridge {
    margin-top: 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    flex-wrap: wrap;
    border-radius: 0.875rem;
    padding: 1.375rem 1.625rem;
}

.bridge p {
    margin: 0;
    max-width: 32.5rem;
}

/* —— Benefit Rows —— */
.benefit-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    align-items: center;
    padding: 2.125rem 0;
    border-bottom: 1px solid var(--rule);
}

.benefit-row:last-child {
    border-bottom: none;
}

.campaign-placeholder{
	border: 1px solid var(--rule);
    aspect-ratio: 4 / 3;
    border-radius: 10px;
}

.benefit-row .num {
    font-size: 1rem;
    margin-bottom: 0.5rem;
    display: block;
    color: var(--signal);
}

.benefit-row h3 {
    margin: 0 0 0.625rem;
}

.benefit-row .imgph {
    border: 1px dashed var(--rule);
    border-radius: 0.75rem;
    padding: 1rem;
    background: var(--rule-2);
    font-family: var(--mono);
    font-size: 1rem;
    color: var(--pen-2);
    line-height: 1.6;
}

.benefit-row .imgph .lbl {
    color: var(--signal);
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 0.875rem;
    margin-bottom: 0.375rem;
    display: block;
}

/* —— Interactive CAM Checklist —— */
.cam-check-list {
    margin-top: 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--rule);
    border-radius: 0.875rem;
    overflow: hidden;
}

.cam-check-item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1.125rem 1.375rem;
    border-bottom: 1px solid var(--rule);
    cursor: pointer;
    user-select: none;
    transition: background .25s ease;
}

.cam-check-item:last-child {
    border-bottom: none;
}

.cam-check-item:hover {
    background: var(--rule-2);
}

.cam-check-item .box {
    flex: none;
    position: relative;
    width: 1.375rem;
    height: 1.375rem;
    border-radius: 0.375rem;
    border: 1.5px solid var(--pen-3);
    margin-top: 0.125rem;
    transition: border-color .25s ease, background .25s ease, transform .35s cubic-bezier(.34, 1.56, .64, 1);
}

.cam-check-item .box svg {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 0.875rem;
    height: 0.875rem;
}

.cam-check-item .box svg path {
    fill: none;
    stroke: var(--paper);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 20;
    stroke-dashoffset: 20;
    transition: stroke-dashoffset .28s ease .05s;
}

.cam-check-item h4 {
    margin: 0 0 0.5rem;
    transition: color .25s ease;
	font-size: 1.375rem
}

.cam-check-item p {
    margin: 0;
}

.cam-check-item.checked {
    background: var(--signal-soft);
}

.cam-check-item.checked .box {
    border-color: var(--signal-2);
    background: var(--signal-2);
    transform: scale(1.12);
}

.cam-check-item.checked .box svg path {
    stroke-dashoffset: 0;
}

.cam-check-item.checked h4 {
    color: var(--signal);
}

.cam-check-item.pulse .box {
    animation: checkPulse .45s ease;
}

@keyframes checkPulse {
    0% {
        box-shadow: 0 0 0 0 var(--signal-glow);
    }

    70% {
        box-shadow: 0 0 0 0.5625rem rgba(5, 195, 221, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(5, 195, 221, 0);
    }
}

.cam-checklist-progress {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1rem;
    font-size: 0.75rem;
    color: var(--pen-2);
}

.cam-checklist-progress .bar {
    flex: none;
    width: 8.75rem;
    height: 0.3125rem;
    border-radius: 0.1875rem;
    background: var(--rule);
    overflow: hidden;
}

.cam-checklist-progress .bar i {
    display: block;
    height: 100%;
    width: 0%;
    background: var(--signal-2);
    transition: width .35s ease;
}

/* —— Soft Pivot Box —— */
.soft-pivot {
    margin-top: 1.875rem;
    background: linear-gradient(135deg, var(--signal-soft), rgba(5, 195, 221, .04));
    border: 1px solid var(--rule);
    border-radius: 0.875rem;
    padding: 1.75rem 1.875rem;
}

.soft-pivot h3 {
    margin: 0 0 0.625rem;
}

.soft-pivot p {
    margin: 0 0 1.125rem;
    max-width: 40rem;
}

.soft-pivot .tags {
    display: flex;
    gap: 0.625rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}

.soft-pivot .tags span {
    font-family: var(--mono);
    font-size: 0.6875rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--signal);
    background: var(--signal-soft);
    border: 1px solid var(--rule);
    padding: 0.3125rem 0.625rem;
    border-radius: 0.375rem;
}

/* —— Stripe Box —— */
.stripe {
    display: flex;
    gap: 0;
    border: 1px solid var(--rule);
    border-radius: 0.875rem;
    overflow: hidden;
    margin-top: 2rem;
    background: var(--paper-2);
}

.stripe .stripe-item {
    flex: 1;
    padding: 1.375rem 1.25rem;
    border-right: 1px solid var(--rule);
}

.stripe .stripe-item:last-child {
    border-right: none;
}

.stripe .k {
    font-size: 0.875rem;
    color: var(--signal);
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom: 0.5rem;
    display: block;
}

.stripe .v {
    font-size: 1.125rem;
    color: var(--ink);
}


/* For Campaign Landing Page Start */
.camp-hero-grid {
    display: grid;
    grid-template-columns: 1.3fr 0.7fr;
    gap: 2.5rem;
}

.camp-hero-check {
    margin-top: 40px;
    background: var(--paper-3);
    border: 1px solid var(--pen-4);
    border-radius: 14px;
    padding: 1.5rem 1.5rem;
}

.camp-hero-check .check-head {
    font-size: 1rem;
    margin-bottom: 1rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--signal);

}

.camp-hero-check ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 24px;
}

.camp-hero-check li {
    font-size: 1rem;
    display: flex;
    gap: 10px;
    align-items: baseline;
}

.camp-hero-check li::before {
    content: "—";
    color: var(--signal);
}

.campaign-section .campaign-row:nth-child(even) {
    background-color: var(--paper-2);
}

.campaign-section .campaign-row {
    padding: clamp(45px, 6vw, 70px) 0;
	border-top: 1px solid var(--rule);
}

.campaign-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    align-items: center;
}

.proof {
    margin-top: 20px;
    padding: 16px 18px;
    border-left: 2px solid var(--signal);
    background: rgba(95, 201, 141, .06);
    border-radius: 0 8px 8px 0;
}

.proof .lbl {
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--signal);
    margin-bottom: 6px;
    display: block;
}

.proof p {
    margin: 0;
    font-size: 1rem;
    color: var(--ink);
}

.campaign-image img {
    width: 100%;
    aspect-ratio: 4/4S;
    object-fit: cover;
    border-radius: 8px;
}
/* For Campaign Landing Page End */

/* For n8n help page Start */
.start-card {
    border: 1px solid var(--rule);
    background: var(--paper-3);
}

.start-head {
    display: flex;
    justify-content: space-between;
    padding: 0.8125rem 1rem;
    border-bottom: 1px solid var(--rule);
    color: var(--pen-2);
    font-size: 0.875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.start-head span:last-child {
    color: var(--signal);
}

.start-body {
    padding: 1.4375rem;
}

.start-body h2 {
    max-width: none;
    margin: 0 0 0.75rem;
}

.start-body p {
    margin: 0 0 1.125rem;
    color: var(--pen-2);
    font-size: 1rem;
}

.package-facts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    margin: 1.25rem -1.4375rem;
}

.package-facts div {
    padding: 0.875rem;
    border-right: 1px solid var(--rule);
}

.package-facts div:last-child {
    border-right: 0;
}

.package-facts small {
    display: block;
    color: var(--pen-2);
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.package-facts strong {
    display: block;
    margin-top: 0.25rem;
    color: var(--ink);
    font-size: 1.125rem;
}

.download-main {
    width: 100%;
}

.download-note {
    margin: 0.625rem 0 0 !important;
    color: var(--pen-2) !important;
    font-size: 1rem !important;
}


/* Setup Guide Styles */

.guide-layout {
    display: grid;
    grid-template-columns: 0.6fr 1.4fr;
    gap: 3.875rem;
    align-items: start;
    /* overflow: visible is required — any ancestor with overflow: hidden/auto/scroll
       will break position: sticky on .progress-card */
    overflow: visible;
}

.progress-card {
    position: sticky;
    top: 6.25rem;
    /* align-self: start ensures the card doesn't stretch to the full grid row height,
       which would make it fill the entire scrollable area and appear non-sticky */
    align-self: start;
    border: 1px solid var(--pen-4);
    background: var(--paper-2);
}

.progress-top {
    padding: 1.25rem;
    border-bottom: 1px solid var(--pen-4);
}

.progress-top small {
    color: var(--pen-2);
    font: 400 0.875rem var(--mono);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.progress-number {
    margin: 0.4375rem 0 0.625rem;
    color: var(--signal);
    font-size: 1.625rem;
    font-weight: 600;
}

.progress-track {
    height: 0.25rem;
    overflow: hidden;
    background: var(--paper-2);
}

.progress-fill {
    display: block;
    width: 0;
    height: 100%;
    background: var(--signal);
    transition: width .2s ease;
}

.check-nav {
    display: grid;
}

.check-item {
    display: grid;
    grid-template-columns: 1.375rem 1fr;
    gap: 0.625rem;
    align-items: start;
    padding: 0.8125rem 1rem;
    border-bottom: 1px solid var(--rule);
    cursor: pointer;
}

.check-item:last-child {
    border-bottom: 0;
}

.check-item input {
    width: 0.9375rem;
    height: 0.9375rem;
    margin: 5px 0 0;
    accent-color: var(--signal);
}

.check-item strong {
    display: block;
    color: var(--ink);
    font-size: 1.125rem;
}

.check-item span {
    display: block;
    color: var(--pen-2);
    font-size: 1rem;
}

.guide-content {
    min-width: 0;
}

.guide-step {
    scroll-margin-top: 6.25rem;
    padding: 0 0 4rem;
    margin: 0 0 4rem;
    border-bottom: 1px solid var(--pen-4);
}

.guide-step:last-child {
    margin-bottom: 0;
    border-bottom: 0;
}

.step-head {
    display: grid;
    grid-template-columns: 3.25rem 1fr;
    gap: 1.125rem;
    margin-bottom: 1.5625rem;
}

.step-number {
    color: var(--signal);
    font: 400 1.125rem var(--mono);
    padding-top: 0.5625rem;
}

.step-head h2 {
    max-width: none;
    margin: 0;
    font: 400 clamp(2.2rem, 4vw, 3.65rem)/.95;
}

.step-head p {
    max-width: 64ch;
    margin: 0.75rem 0 0;
    color: var(--pen-2);
    font-size: 1rem;
}

.plain-box,
.warning-box,
.success-box {
    margin: 1.375rem 0;
    padding: 1.125rem 1.25rem;
    border: 1px solid var(--rule);
    background: rgba(1, 21, 34, .38);
}

.warning-box {
    border-left: 0.1875rem solid var(--heritage);
}

.success-box {
    border-left: 0.1875rem solid var(--signal-2);
}

.plain-box strong,
.warning-box strong,
.success-box strong {
    display: block;
    margin-bottom: 0.3125rem;
    color: var(--ink);
    font-size: 1.125rem;
}

.plain-box p,
.warning-box p,
.success-box p {
    margin: 0;
    color: var(--pen-2);
    font-size: 1rem;
}

.choice-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.875rem;
    margin-top: 1.375rem;
}

.choice {
    padding: 1.375rem;
    border: 1px solid var(--pen-4);
    background: var(--paper-3);
}

.choice.recommended {
    border-color: var(--signal);
}

.choice-tag {
    color: var(--signal);
    font: 500 0.75rem var(--mono);
    letter-spacing: .13em;
    text-transform: uppercase;
}

.choice h3 {
    margin: 0.8125rem 0 0.5rem;
    font: 400 1.5rem/1;
}

.choice p {
    margin: 0;
    color: var(--pen-2);
    font-size: 1rem;
}

.task-list {
    list-style: none;
    margin: 1.375rem 0 0;
    padding: 0;
    border-top: 1px solid var(--rule);
}

.task-list li {
    position: relative;
    padding: 0.9375rem 0.625rem 0.9375rem 2.375rem;
    border-bottom: 1px solid var(--rule);
    color: var(--pen-2);
    font-size: 1rem;
}

.task-list li::before {
    content: attr(data-n);
    position: absolute;
    left: 0.25rem;
    top: 1rem;
    color: var(--signal);
    font: 500 1rem var(--mono);
}

.task-list strong {
    color: var(--ink);
}

.code-card {
    margin: 1.375rem 0;
    border: 1px solid var(--rule);
    background: var(--paper-2);
}

.code-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.625rem 0.8125rem;
    border-bottom: 1px solid var(--rule);
    color: var(--pen-2);
    font: 400 0.875rem var(--mono);
    text-transform: uppercase;
    letter-spacing: .12em;
}

.copy-button {
    border: 1px solid var(--rule) !important;
    border-radius: 0.125rem;
    padding: 0.3125rem 0.5rem;
    color: var(--pen-2) !important;
    background: transparent !important;
    cursor: pointer !important;
    font: 500 0.875rem var(--mono);
}

.copy-button:hover,
.copy-button:focus-visible {
    color: var(--signal);
    border-color: var(--signal);
}

.code-card pre {
    margin: 0;
    padding: 1.125rem;
    overflow-x: auto;
    color: #b9edf1;
    font: 400 0.75rem/1.7 var(--mono);
    white-space: pre;
	background: transparent;
}

.credential-table {
    width: 100%;
    margin-top: 1.375rem;
    border-collapse: collapse;
    border: 1px solid var(--rule);
}

.credential-table th,
.credential-table td {
    padding: 0.8125rem 0.875rem;
    border-bottom: 1px solid var(--rule);
    text-align: left;
    vertical-align: top;
}

.credential-table th {
    color: var(--signal);
    font: 500 0.875rem var(--mono);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.credential-table td {
    color: var(--pen-2);
    font-size: 1rem;
}

.credential-table td:first-child {
    color: var(--ink);
    font-weight: 600;
}

.prompt-list {
    display: grid;
    gap: 0.625rem;
    margin-top: 1.375rem;
}

.prompt {
    padding: 1rem 1.125rem;
    border-left: 0.125rem solid var(--signal);
    color: #c6d2d6;
    background: rgba(1, 21, 34, .5);
    font: 400 0.875rem/1.6 var(--mono);
}

.help-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
    margin-top: 1.625rem;
}


/* For Before Production */
.grid-column-2 {
    grid-template-columns: repeat(2, 1fr);
}
/* For n8n help page End */

/* For New Agent Changes Start */
.community-hero-buttons .btn-signal{
    gap: 8px;
    align-items: center;
	white-space: normal;
}
.community-hero-buttons .btn span{
    font-size: 0.875rem;
    font-weight: 400;
}
.privacy-badge{
    display:inline-flex;
    align-items:start;
    gap: 9px;
    margin: 18px 0 22px;
    padding: 10px 16px;
    border-radius: 10px;
    background: var(--paper-2);
    border: 1px solid rgba(53,208,232,0.35);
    font-size: 1rem;
  }
  .privacy-badge b{ 
	  color: var(--signal); 
	  font-weight:700; 
}
  .privacy-badge .lockicon{ 
	  font-size: 1rem; 
}
/* ===== Work Stage ===== */
.work-stage {
    position: relative;
    padding: 4px 0 8px;
}

.work-track {
    position: relative;
    height: 3px;
    background: #1c3040;
    border-radius: 3px;
    margin: 0 26px 34px;
}

.work-track-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #1a5a68, #35d0e8);
    border-radius: 3px;
    transition: width 0.6s cubic-bezier(.65, 0, .35, 1);
}

.work-pulse {
    position: absolute;
    top: 50%;
    left: 0%;
    width: 10px;
    height: 10px;
    background: #35d0e8;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 14px 2px rgba(53, 208, 232, 0.9);
    transition: left 0.6s cubic-bezier(.65, 0, .35, 1);
}

.work-pulse::after {
    content: "";
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 1px solid rgba(53, 208, 232, 0.5);
    animation: work-ring 1.6s ease-out infinite;
}

@keyframes work-ring {
    0% {
        transform: scale(0.4);
        opacity: .9;
    }

    100% {
        transform: scale(2.2);
        opacity: 0;
    }
}

.work-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.work-step {
    background: var(--paper-2);
    border: 1px solid (--rule);
    border-radius: 10px;
    padding: 18px 16px 20px;
    transition: all 0.45s ease;
}

.work-num {
    color: var(--pen-2);
    font-family: var(--mono);
    font-weight: 500;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    transition: color .45s ease;
}

.work-title {
    display: block;
    margin: 10px 0 5px;
    font-weight: 600;
    font-size: 1.375rem;
    color: var(--ink);
    opacity: .55;
    transition: opacity .45s ease;
}

.work-desc {
    display: block;
    color: var(--pen-2);
    font-size: 1rem;
    line-height: 1.4;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity .45s ease .1s, max-height .45s ease;
}

.work-tag {
    display: none;
    margin-top: 9px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #e0a95a;
}

.work-step.active {
    border-color: var(--signal);
    background: linear-gradient(180deg,
            rgba(53, 208, 232, .08),
            rgba(53, 208, 232, .02));
    transform: translateY(-3px);
    box-shadow: 0 8px 24px -12px rgba(53, 208, 232, .35);
}

.work-step.active .work-num {
    color: var(--signal);
}

.work-step.active .work-title {
    opacity: 1;
}

.work-step.active .work-desc {
    opacity: 1;
    max-height: 100px;
}

.work-step.active .work-tag {
    display: block;
}

.work-step.done {
    border-color: rgba(53, 208, 232, .35);
}

.work-step.done .work-title {
    opacity: .85;
}

.work-step.done .work-num {
    color: var(--pen-2);
}

/* Responsive */

@media (max-width: 768px) {
    .work-track {
        margin: 0 16px 24px;
    }

    .work-steps {
        grid-template-columns: 1fr;
    }
}
/* For New Agent Changes End */

/*  Harmes Download Page Start */
.form-grid-row-2{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 28px;
}
.download-hermes-con{
    width: 70%;
    margin: 0 auto;
}

.download-hermes-con .lede{
    margin: 0 auto 1rem auto;
}
.download-hermes-con .privacy-badge{
	width: 80%;
}
.contact-form select{
	width: 100%;
    border: 1px solid var(--rule);
    border-radius: 12px;
    background: var(--paper);
    color: var(--ink);
    padding: 13px 14px;
    font: inherit;
    outline: none;
}
.contact-form select option {
    background-color: #001923;
    color: var(--ink);
}

.contact-form select option:checked {
    background-color: #1d6fd5;
    color: var(--ink);
}
/*  Harmes Download Page End */

/* Harmes Download Confirmation Page Start */
.confirmation-wrap{
	width: 55%;
	margin: 0 auto;
}
.mail-ic {
    font-size: 1.7rem;
    margin: 0 auto 1.3rem auto;
    color: #03c3dd;
    height: 80px;
    width: 80px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #03c3dd;
    background: rgb(3 195 221 / 10%);
}
.confirm-checklist {
    text-align: left;
    background: var(--white);
    border: 1px solid var(--rule);
    border-radius: 10px;
    padding: 30px 30px;
    margin: 36px 0;
}

.confirm-checklist .confirm-head {
    font-size: 1.125rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted-2);
    font-weight: 700;
    margin-bottom: 1.25rem;
}
.confirm-checklist ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.confirm-checklist li {
    font-size: 1rem;
    padding: 8px 0;
    display: flex;
    gap: 9px;
    align-items: flex-start;
    border-top: 1px solid var(--rule);
}
.confirm-checklist li:first-child {
    border-top: none;
    padding-top: 0;
}
.confirm-checklist li:before {
    content: "✓";
    color: var(--signal);
    font-weight: 700;
    flex-shrink: 0;
}
.confirm-message{
	margin-top: 12px;
}
.confirm-message a{
	color: var(--signal);
	font-weight: 600;
}
/* Harmes Download Confirmation Page End */