/* ============================================================
   Landing Page Styles - پژوهشیار بصیر (Basir)
   Professional, Modern, RTL-optimized
   ============================================================ */

/* Font Faces */
@font-face {
    font-family: 'Vazirmatn';
    src: url('/fonts/Vazirmatn-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Vazirmatn';
    src: url('/fonts/Vazirmatn-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Vazirmatn';
    src: url('/fonts/Vazirmatn-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Vazirmatn';
    src: url('/fonts/Vazirmatn-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Design Tokens */
:root {
    --landing-primary: #4f46e5;
    --landing-primary-hover: #4338ca;
    --landing-primary-light: #eef2ff;
    --landing-primary-dark: #3730a3;
    --landing-accent: #0ea5e9;
    --landing-accent-light: #e0f2fe;
    --landing-success: #10b981;
    --landing-success-light: #d1fae5;
    --landing-warning: #f59e0b;
    --landing-warning-light: #fef3c7;
    --landing-error: #ef4444;
    --landing-bg: #ffffff;
    --landing-bg-secondary: #f8fafc;
    --landing-bg-tertiary: #f1f5f9;
    --landing-text: #1e293b;
    --landing-text-secondary: #475569;
    --landing-text-muted: #64748b;
    --landing-border: #e2e8f0;
    --landing-border-light: #f1f5f9;
    --landing-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --landing-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
    --landing-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
    --landing-radius: 0.75rem;
    --landing-radius-sm: 0.5rem;
    --landing-radius-lg: 1rem;
    --landing-radius-xl: 1.5rem;
    --landing-max-width: 1200px;
    --landing-header-height: 72px;
}

[data-bs-theme="dark"] {
    --landing-bg: #0f172a;
    --landing-bg-secondary: #1e293b;
    --landing-bg-tertiary: #334155;
    --landing-text: #f1f5f9;
    --landing-text-secondary: #cbd5e1;
    --landing-text-muted: #94a3b8;
    --landing-border: #334155;
    --landing-border-light: #1e293b;
    --landing-shadow-sm: 0 1px 2px rgba(0,0,0,0.2);
    --landing-shadow: 0 1px 3px rgba(0,0,0,0.3);
    --landing-shadow-md: 0 4px 6px rgba(0,0,0,0.3);
    --landing-primary-light: #1e1b4b;
    --landing-accent-light: #0c1929;
    --landing-success-light: #064e3b;
    --landing-warning-light: #451a03;
}

/* Base */
.landing-page {
    font-family: 'Vazirmatn', Tahoma, sans-serif;
    background: var(--landing-bg);
    color: var(--landing-text);
    direction: rtl;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

/* Follow the language switch: English keeps the landing page LTR. */
html[dir="ltr"] .landing-page {
    direction: ltr;
}

.landing-page * {
    box-sizing: border-box;
}

/* ============================================================
   Announcement Bar
   ============================================================ */
.landing-announcement {
    background: var(--landing-primary);
    color: #fff;
    text-align: center;
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    position: relative;
    z-index: 1050;
}

.landing-announcement a {
    color: #fff;
    text-decoration: underline;
    font-weight: 600;
}

/* ============================================================
   Header
   ============================================================ */
.landing-header {
    position: sticky;
    top: 0;
    z-index: 1040;
    background: var(--landing-bg);
    border-bottom: 1px solid var(--landing-border);
    height: var(--landing-header-height);
    backdrop-filter: blur(12px);
    background: rgba(255, 255, 255, 0.92);
}

[data-bs-theme="dark"] .landing-header {
    background: rgba(15, 23, 42, 0.92);
}

.landing-header-inner {
    max-width: var(--landing-max-width);
    margin: 0 auto;
    padding: 0 1.5rem;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.landing-logo {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: var(--landing-text);
    font-weight: 700;
    font-size: 1.25rem;
}

.landing-logo i {
    color: var(--landing-primary);
    font-size: 1.5rem;
}

.landing-nav {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.landing-nav-link {
    padding: 0.5rem 0.875rem;
    color: var(--landing-text-secondary);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    border-radius: var(--landing-radius-sm);
    transition: all 0.2s;
}

.landing-nav-link:hover {
    color: var(--landing-text);
    background: var(--landing-bg-tertiary);
}

.landing-nav-link.active {
    color: var(--landing-primary);
}

.landing-header-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.landing-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem 1.25rem;
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: var(--landing-radius-sm);
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
    border: 1px solid transparent;
    line-height: 1.5;
    white-space: nowrap;
    font-family: 'Vazirmatn', Tahoma, sans-serif;
}

.landing-btn-primary {
    background: var(--landing-primary);
    color: #fff;
    border-color: var(--landing-primary);
}

.landing-btn-primary:hover {
    background: var(--landing-primary-hover);
    border-color: var(--landing-primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.3);
}

.landing-btn-outline {
    background: transparent;
    color: var(--landing-text);
    border-color: var(--landing-border);
}

.landing-btn-outline:hover {
    background: var(--landing-bg-tertiary);
    border-color: var(--landing-text-muted);
}

.landing-btn-lg {
    padding: 0.875rem 2rem;
    font-size: 1rem;
}

.landing-btn-icon {
    width: 40px;
    height: 40px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--landing-text);
    border-radius: var(--landing-radius-sm);
    cursor: pointer;
    font-size: 1.25rem;
}

.landing-btn-icon:hover {
    background: var(--landing-bg-tertiary);
}

.landing-btn-ghost {
    background: transparent;
    color: var(--landing-text-secondary);
    border: none;
    padding: 0.5rem 0.875rem;
    font-size: 0.9rem;
    font-weight: 500;
}

.landing-btn-ghost:hover {
    color: var(--landing-text);
    background: var(--landing-bg-tertiary);
}

/* User Menu */
.landing-user-menu {
    position: relative;
}

.landing-user-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--landing-primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    border: 2px solid var(--landing-border);
}

/* Mobile Menu */
.landing-mobile-toggle {
    display: none;
}

.landing-mobile-menu {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 280px;
    background: var(--landing-bg);
    z-index: 1060;
    padding: 1.5rem;
    box-shadow: -4px 0 24px rgba(0,0,0,0.15);
    overflow-y: auto;
}

.landing-mobile-menu.open {
    display: block;
}

.landing-mobile-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1055;
}

.landing-mobile-overlay.show {
    display: block;
}

/* ============================================================
   Sections (shared)
   ============================================================ */
.landing-section {
    padding: 5rem 1.5rem;
}

.landing-section-alt {
    background: var(--landing-bg-secondary);
}

.landing-section-inner {
    max-width: var(--landing-max-width);
    margin: 0 auto;
}

.landing-section-header {
    text-align: center;
    margin-bottom: 3rem;
}

.landing-section-title {
    font-size: 2rem;
    font-weight: 800;
    color: var(--landing-text);
    margin-bottom: 0.75rem;
    line-height: 1.3;
}

.landing-section-subtitle {
    font-size: 1.1rem;
    color: var(--landing-text-muted);
    max-width: 640px;
    margin: 0 auto;
    line-height: 1.8;
}

.landing-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.875rem;
    background: var(--landing-primary-light);
    color: var(--landing-primary);
    font-size: 0.8rem;
    font-weight: 600;
    border-radius: 999px;
    margin-bottom: 1rem;
}

/* ============================================================
   Hero
   ============================================================ */
.landing-hero {
    padding: 4rem 1.5rem 5rem;
    position: relative;
    overflow: hidden;
}

.landing-hero-inner {
    max-width: var(--landing-max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}

.landing-hero-content {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.landing-hero-title {
    font-size: 2.75rem;
    font-weight: 900;
    line-height: 1.25;
    color: var(--landing-text);
}

.landing-hero-title .highlight {
    color: var(--landing-primary);
    position: relative;
}

.landing-hero-subtitle {
    font-size: 1.125rem;
    line-height: 1.9;
    color: var(--landing-text-secondary);
}

.landing-hero-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.landing-hero-trust {
    font-size: 0.8rem;
    color: var(--landing-text-muted);
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.landing-hero-trust i {
    color: var(--landing-success);
}

.landing-hero-visual {
    position: relative;
}

.landing-hero-preview {
    background: var(--landing-bg-secondary);
    border: 1px solid var(--landing-border);
    border-radius: var(--landing-radius-lg);
    padding: 1.25rem;
    box-shadow: var(--landing-shadow-md);
    position: relative;
    z-index: 1;
}

@media (min-width: 1024px) {
    .landing-hero-preview {
        transform: perspective(800px) rotateY(-3deg);
        box-shadow: 20px 20px 60px rgba(0,0,0,0.12);
    }
}

.landing-hero-preview-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--landing-border);
}

.landing-hero-preview-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.landing-hero-preview-dot.red { background: #ef4444; }
.landing-hero-preview-dot.yellow { background: #f59e0b; }
.landing-hero-preview-dot.green { background: #10b981; }

.landing-hero-preview-title {
    font-size: 0.75rem;
    color: var(--landing-text-muted);
    margin-inline-start: auto;
}

.landing-hero-preview-body {
    display: flex;
    gap: 1rem;
}

.landing-hero-preview-sidebar {
    width: 120px;
    flex-shrink: 0;
    border-inline-start: 1px solid var(--landing-border);
    padding-inline-start: 0.75rem;
}

.landing-hero-preview-tree {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.landing-hero-preview-tree-item {
    font-size: 0.7rem;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    background: var(--landing-bg-tertiary);
    color: var(--landing-text-secondary);
    cursor: default;
}

.landing-hero-preview-tree-item.active {
    background: var(--landing-primary-light);
    color: var(--landing-primary);
    font-weight: 600;
}

.landing-hero-preview-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.landing-hero-preview-editor {
    font-size: 0.72rem;
    line-height: 1.8;
    color: var(--landing-text-secondary);
    min-height: 100px;
}

.landing-hero-preview-editor .placeholder {
    color: var(--landing-text-muted);
    opacity: 0.6;
}

.landing-hero-preview-stats {
    display: flex;
    gap: 1rem;
    font-size: 0.68rem;
    color: var(--landing-text-muted);
}

.landing-hero-preview-actions {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.landing-hero-preview-btn {
    padding: 0.375rem 0.75rem;
    font-size: 0.72rem;
    border-radius: 6px;
    border: 1px solid var(--landing-border);
    background: var(--landing-bg);
    color: var(--landing-text);
    cursor: pointer;
    font-family: 'Vazirmatn', Tahoma, sans-serif;
}

.landing-hero-preview-btn.primary {
    background: var(--landing-primary);
    color: #fff;
    border-color: var(--landing-primary);
}

/* Hero benefits */
.landing-hero-benefits {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.landing-hero-benefit {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: var(--landing-text-secondary);
}

.landing-hero-benefit i {
    color: var(--landing-success);
    font-size: 1.1rem;
}

/* ============================================================
   Problem Section
   ============================================================ */
.landing-problems {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.landing-problem-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    background: var(--landing-bg);
    border: 1px solid var(--landing-border);
    border-radius: var(--landing-radius-sm);
    font-size: 0.875rem;
    color: var(--landing-text-secondary);
    transition: all 0.2s;
}

.landing-problem-item:hover {
    border-color: var(--landing-primary);
    background: var(--landing-primary-light);
}

.landing-problem-item i {
    color: var(--landing-warning);
    font-size: 1.1rem;
    flex-shrink: 0;
    margin-top: 1px;
}

/* ============================================================
   Value Cards
   ============================================================ */
.landing-values {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.landing-value-card {
    padding: 1.5rem;
    background: var(--landing-bg);
    border: 1px solid var(--landing-border);
    border-radius: var(--landing-radius);
    text-align: center;
    transition: all 0.3s;
}

.landing-value-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--landing-shadow-md);
    border-color: var(--landing-primary);
}

.landing-value-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 1rem;
    background: var(--landing-primary-light);
    color: var(--landing-primary);
    border-radius: var(--landing-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

.landing-value-title {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--landing-text);
}

.landing-value-desc {
    font-size: 0.85rem;
    color: var(--landing-text-muted);
    line-height: 1.7;
}

/* ============================================================
   Workflow Steps
   ============================================================ */
.landing-workflow {
    display: flex;
    gap: 0;
    position: relative;
}

.landing-workflow::before {
    content: '';
    position: absolute;
    top: 32px;
    left: 5%;
    right: 5%;
    height: 2px;
    background: var(--landing-border);
    z-index: 0;
}

.landing-step {
    flex: 1;
    text-align: center;
    position: relative;
    z-index: 1;
    padding: 0 0.5rem;
}

.landing-step-number {
    width: 64px;
    height: 64px;
    margin: 0 auto 1rem;
    background: var(--landing-bg);
    border: 3px solid var(--landing-primary);
    color: var(--landing-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 800;
}

.landing-step-title {
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 0.375rem;
    color: var(--landing-text);
}

.landing-step-desc {
    font-size: 0.8rem;
    color: var(--landing-text-muted);
    line-height: 1.7;
}

/* ============================================================
   Feature Cards
   ============================================================ */
.landing-feature {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
    padding: 3rem 0;
}

.landing-feature + .landing-feature {
    border-top: 1px solid var(--landing-border);
}

.landing-feature.reverse {
    direction: ltr;
}

.landing-feature.reverse .landing-feature-content {
    direction: rtl;
}

.landing-feature-content h3 {
    font-size: 1.6rem;
    font-weight: 800;
    margin-bottom: 0.75rem;
    color: var(--landing-text);
}

.landing-feature-content p {
    font-size: 1rem;
    line-height: 1.9;
    color: var(--landing-text-secondary);
    margin-bottom: 1rem;
}

.landing-feature-list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.landing-feature-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.9rem;
    color: var(--landing-text-secondary);
}

.landing-feature-list i {
    color: var(--landing-success);
    flex-shrink: 0;
    margin-top: 2px;
}

.landing-feature-visual {
    background: var(--landing-bg-secondary);
    border: 1px solid var(--landing-border);
    border-radius: var(--landing-radius-lg);
    padding: 1rem;
    text-align: center;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.landing-feature-visual-content {
    text-align: center;
}

.landing-feature-visual-icon {
    font-size: 3rem;
    color: var(--landing-primary);
    margin-bottom: 0.75rem;
    opacity: 0.8;
}

.landing-feature-visual-label {
    font-size: 0.85rem;
    color: var(--landing-text-muted);
}

/* Word counter visual */
.landing-word-counter-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

.landing-word-counter-display {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
}

.landing-word-counter-value {
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--landing-primary);
}

.landing-word-counter-label {
    font-size: 0.85rem;
    color: var(--landing-text-muted);
}

.landing-word-counter-bar {
    width: 200px;
    height: 8px;
    background: var(--landing-bg-tertiary);
    border-radius: 4px;
    overflow: hidden;
}

.landing-word-counter-fill {
    height: 100%;
    background: var(--landing-primary);
    border-radius: 4px;
    width: 60%;
    transition: width 1s ease;
}

/* Before/After visual */
.landing-before-after {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    text-align: start;
}

.landing-before-after-item {
    padding: 1rem;
    border-radius: var(--landing-radius-sm);
    font-size: 0.75rem;
    line-height: 1.8;
}

.landing-before-after-item.before {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.landing-before-after-item.after {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}

.landing-before-after-label {
    font-weight: 700;
    margin-bottom: 0.5rem;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ============================================================
   Comparison Table
   ============================================================ */
.landing-comparison-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.landing-comparison-table th,
.landing-comparison-table td {
    padding: 0.75rem 1rem;
    text-align: center;
    border-bottom: 1px solid var(--landing-border);
}

.landing-comparison-table th {
    font-weight: 700;
    color: var(--landing-text);
    background: var(--landing-bg-secondary);
    font-size: 0.9rem;
}

.landing-comparison-table th:first-child,
.landing-comparison-table td:first-child {
    text-align: start;
    font-weight: 500;
}

.landing-comparison-table .check {
    color: var(--landing-success);
}

.landing-comparison-table .cross {
    color: var(--landing-text-muted);
}

.landing-comparison-table .product-col {
    background: var(--landing-primary-light);
}

.landing-comparison-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* ============================================================
   Use Cases
   ============================================================ */
.landing-use-cases {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
}

.landing-use-case-card {
    padding: 1.25rem;
    background: var(--landing-bg);
    border: 1px solid var(--landing-border);
    border-radius: var(--landing-radius);
    text-align: center;
    transition: all 0.2s;
    text-decoration: none;
    color: inherit;
    display: block;
}

.landing-use-case-card:hover {
    border-color: var(--landing-primary);
    transform: translateY(-2px);
    box-shadow: var(--landing-shadow-md);
}

.landing-use-case-icon {
    font-size: 2rem;
    margin-bottom: 0.75rem;
    color: var(--landing-primary);
}

.landing-use-case-title {
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom: 0.375rem;
    color: var(--landing-text);
}

.landing-use-case-desc {
    font-size: 0.75rem;
    color: var(--landing-text-muted);
    line-height: 1.6;
}

/* ============================================================
   Audience Tabs
   ============================================================ */
.landing-audience-tabs {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
}

.landing-audience-tab {
    padding: 0.625rem 1.25rem;
    border: 1px solid var(--landing-border);
    border-radius: 999px;
    background: var(--landing-bg);
    color: var(--landing-text-secondary);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    font-family: 'Vazirmatn', Tahoma, sans-serif;
}

.landing-audience-tab:hover {
    border-color: var(--landing-primary);
    color: var(--landing-primary);
}

.landing-audience-tab.active {
    background: var(--landing-primary);
    color: #fff;
    border-color: var(--landing-primary);
}

.landing-audience-content {
    display: none;
}

.landing-audience-content.active {
    display: block;
}

.landing-audience-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.landing-audience-card {
    padding: 1.25rem;
    background: var(--landing-bg);
    border: 1px solid var(--landing-border);
    border-radius: var(--landing-radius);
}

.landing-audience-card h4 {
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--landing-text);
}

.landing-audience-card p {
    font-size: 0.85rem;
    color: var(--landing-text-muted);
    line-height: 1.7;
}

/* ============================================================
   Trust Section
   ============================================================ */
.landing-trust-items {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.landing-trust-item {
    text-align: center;
    padding: 1.5rem;
}

.landing-trust-icon {
    font-size: 2rem;
    color: var(--landing-primary);
    margin-bottom: 0.75rem;
}

.landing-trust-title {
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 0.375rem;
    color: var(--landing-text);
}

.landing-trust-desc {
    font-size: 0.8rem;
    color: var(--landing-text-muted);
    line-height: 1.6;
}

/* ============================================================
   Pricing
   ============================================================ */
.landing-pricing-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
}

.landing-pricing-btn-group {
    display: inline-flex;
    border: 2px solid var(--landing-border);
    border-radius: var(--landing-radius);
    overflow: hidden;
    background: var(--landing-bg-secondary);
}

.landing-pricing-period-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.625rem 1.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    border: none;
    background: transparent;
    color: var(--landing-text-secondary);
    cursor: pointer;
    transition: all 0.25s ease;
    font-family: 'Vazirmatn', Tahoma, sans-serif;
    white-space: nowrap;
    position: relative;
}

.landing-pricing-period-btn:first-child {
    border-inline-end: 1px solid var(--landing-border);
}

.landing-pricing-period-btn:hover {
    color: var(--landing-text);
    background: rgba(79, 70, 229, 0.05);
}

.landing-pricing-period-btn.active {
    background: var(--landing-primary);
    color: #fff;
    box-shadow: 0 2px 8px rgba(79, 70, 229, 0.3);
}

.landing-pricing-period-btn i {
    font-size: 1rem;
}

.landing-pricing-save {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    color: var(--landing-success);
    background: var(--landing-success-light);
    padding: 0.125rem 0.5rem;
    border-radius: 999px;
    line-height: 1.5;
}

.landing-pricing-period-btn.active .landing-pricing-save {
    color: #fff;
    background: rgba(255,255,255,0.2);
}

.landing-plans {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

.landing-plan {
    background: var(--landing-bg);
    border: 2px solid var(--landing-border);
    border-radius: var(--landing-radius-lg);
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.3s;
}

.landing-plan:hover {
    transform: translateY(-4px);
    box-shadow: var(--landing-shadow-md);
}

.landing-plan.recommended {
    border-color: var(--landing-primary);
    box-shadow: 0 0 0 1px var(--landing-primary);
}

.landing-plan-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--landing-primary);
    color: #fff;
    padding: 0.25rem 1rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
}

.landing-plan-name {
    font-size: 1.25rem;
    font-weight: 800;
    margin-bottom: 0.25rem;
    color: var(--landing-text);
}

.landing-plan-desc {
    font-size: 0.8rem;
    color: var(--landing-text-muted);
    margin-bottom: 1.25rem;
    line-height: 1.6;
}

.landing-plan-price {
    margin-bottom: 1.25rem;
}

.landing-plan-amount {
    font-size: 2.25rem;
    font-weight: 900;
    color: var(--landing-text);
}

.landing-plan-currency {
    font-size: 0.85rem;
    color: var(--landing-text-muted);
    margin-inline-start: 0.25rem;
}

.landing-plan-period {
    font-size: 0.8rem;
    color: var(--landing-text-muted);
}

.landing-plan-features {
    list-style: none;
    padding: 0;
    margin: 0 0 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.landing-plan-features li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: var(--landing-text-secondary);
}

.landing-plan-features i {
    color: var(--landing-success);
    flex-shrink: 0;
    margin-top: 2px;
}

.landing-plan-btn {
    width: 100%;
    padding: 0.75rem;
    text-align: center;
    border-radius: var(--landing-radius-sm);
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s;
    font-family: 'Vazirmatn', Tahoma, sans-serif;
}

.landing-plan-btn.primary {
    background: var(--landing-primary);
    color: #fff;
    border: none;
}

.landing-plan-btn.primary:hover {
    background: var(--landing-primary-hover);
}

.landing-plan-btn.outline {
    background: transparent;
    color: var(--landing-primary);
    border: 2px solid var(--landing-primary);
}

.landing-plan-btn.outline:hover {
    background: var(--landing-primary-light);
}

/* ============================================================
   Enterprise Form
   ============================================================ */
.landing-enterprise-form {
    max-width: 640px;
    margin: 2rem auto 0;
    padding: 2rem;
    background: var(--landing-bg);
    border: 1px solid var(--landing-border);
    border-radius: var(--landing-radius-lg);
}

.landing-form-group {
    margin-bottom: 1rem;
}

.landing-form-label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 0.375rem;
    color: var(--landing-text);
}

.landing-form-input {
    width: 100%;
    padding: 0.625rem 0.875rem;
    font-size: 0.9rem;
    border: 1px solid var(--landing-border);
    border-radius: var(--landing-radius-sm);
    background: var(--landing-bg);
    color: var(--landing-text);
    font-family: 'Vazirmatn', Tahoma, sans-serif;
    transition: border-color 0.2s;
}

.landing-form-input:focus {
    outline: none;
    border-color: var(--landing-primary);
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
}

.landing-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

/* ============================================================
   FAQ Accordion
   ============================================================ */
.landing-faq {
    max-width: 800px;
    margin: 0 auto;
}

.landing-faq-item {
    border: 1px solid var(--landing-border);
    border-radius: var(--landing-radius-sm);
    margin-bottom: 0.5rem;
    overflow: hidden;
}

.landing-faq-question {
    width: 100%;
    text-align: start;
    padding: 1rem 1.25rem;
    background: var(--landing-bg);
    border: none;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--landing-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    font-family: 'Vazirmatn', Tahoma, sans-serif;
    transition: background 0.2s;
}

.landing-faq-question:hover {
    background: var(--landing-bg-secondary);
}

.landing-faq-question i {
    transition: transform 0.3s;
    font-size: 1.25rem;
    color: var(--landing-text-muted);
    flex-shrink: 0;
}

.landing-faq-item.open .landing-faq-question i {
    transform: rotate(180deg);
    color: var(--landing-primary);
}

.landing-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
}

.landing-faq-item.open .landing-faq-answer {
    max-height: 500px;
}

.landing-faq-answer-inner {
    padding: 0 1.25rem 1.25rem;
    font-size: 0.9rem;
    line-height: 1.9;
    color: var(--landing-text-secondary);
}

/* ============================================================
   Final CTA
   ============================================================ */
.landing-final-cta {
    text-align: center;
    padding: 5rem 1.5rem;
    background: linear-gradient(135deg, var(--landing-primary) 0%, var(--landing-primary-dark) 100%);
    color: #fff;
}

.landing-final-cta h2 {
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 0.75rem;
}

.landing-final-cta p {
    font-size: 1.1rem;
    opacity: 0.9;
    max-width: 600px;
    margin: 0 auto 2rem;
    line-height: 1.8;
}

.landing-final-cta-actions {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.landing-final-cta .landing-btn-primary {
    background: #fff;
    color: var(--landing-primary);
    border-color: #fff;
}

.landing-final-cta .landing-btn-primary:hover {
    background: var(--landing-bg-tertiary);
    border-color: var(--landing-bg-tertiary);
    color: var(--landing-primary-hover);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.landing-final-cta .landing-btn-outline {
    color: #fff;
    border-color: rgba(255,255,255,0.4);
}

.landing-final-cta .landing-btn-outline:hover {
    background: rgba(255,255,255,0.1);
    border-color: #fff;
}

/* ============================================================
   Footer
   ============================================================ */
.landing-footer {
    background: var(--landing-bg-secondary);
    border-top: 1px solid var(--landing-border);
    padding: 3rem 1.5rem 1.5rem;
}

.landing-footer-inner {
    max-width: var(--landing-max-width);
    margin: 0 auto;
}

.landing-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 2rem;
    margin-bottom: 2rem;
}

.landing-footer-brand p {
    font-size: 0.85rem;
    color: var(--landing-text-muted);
    line-height: 1.7;
    margin-top: 0.75rem;
}

.landing-footer-col h4 {
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--landing-text);
}

.landing-footer-col a {
    display: block;
    font-size: 0.85rem;
    color: var(--landing-text-muted);
    text-decoration: none;
    margin-bottom: 0.5rem;
    transition: color 0.2s;
}

.landing-footer-col a:hover {
    color: var(--landing-primary);
}

.landing-footer-bottom {
    border-top: 1px solid var(--landing-border);
    padding-top: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    font-size: 0.8rem;
    color: var(--landing-text-muted);
}

.landing-brand-logo {
    width: 44px;
    height: 44px;
    object-fit: contain;
    flex-shrink: 0;
}

.landing-footer-enamad {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-inline-start: auto;
}

.landing-footer-enamad img {
    display: block;
    width: auto;
    max-width: 100px;
    height: auto;
    cursor: pointer;
}

.landing-footer-social {
    display: flex;
    gap: 0.75rem;
}

.landing-footer-social a {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--landing-bg-tertiary);
    color: var(--landing-text-muted);
    text-decoration: none;
    transition: all 0.2s;
}

.landing-footer-social a:hover {
    background: var(--landing-primary);
    color: #fff;
}

/* ============================================================
   Responsive Design
   ============================================================ */
@media (max-width: 1199.98px) {
    .landing-plans {
        grid-template-columns: repeat(2, 1fr);
    }
    .landing-values {
        grid-template-columns: repeat(2, 1fr);
    }
    .landing-use-cases {
        grid-template-columns: repeat(3, 1fr);
    }
    .landing-trust-items {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 991.98px) {
    .landing-hero-inner {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .landing-hero-actions {
        justify-content: center;
    }
    .landing-hero-benefits {
        justify-content: center;
    }
    .landing-hero-title {
        font-size: 2rem;
    }
    .landing-feature {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .landing-feature.reverse {
        direction: rtl;
    }
    .landing-problems {
        grid-template-columns: repeat(2, 1fr);
    }
    .landing-nav { display: none; }
    .landing-mobile-toggle { display: flex; }
    .landing-comparison-table th,
    .landing-comparison-table td {
        font-size: 0.75rem;
        padding: 0.5rem 0.75rem;
    }
    .landing-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
    .landing-audience-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767.98px) {
    .landing-section {
        padding: 3rem 1rem;
    }
    .landing-hero {
        padding: 2rem 1rem 3rem;
    }
    .landing-hero-title {
        font-size: 1.6rem;
    }
    .landing-hero-subtitle {
        font-size: 0.95rem;
    }
    .landing-section-title {
        font-size: 1.5rem;
    }
    .landing-plans {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .landing-values {
        grid-template-columns: 1fr;
    }
    .landing-problems {
        grid-template-columns: 1fr;
    }
    .landing-use-cases {
        grid-template-columns: repeat(2, 1fr);
    }
    .landing-trust-items {
        grid-template-columns: 1fr;
    }
    .landing-workflow {
        flex-direction: column;
        gap: 2rem;
    }
    .landing-workflow::before { display: none; }
    .landing-footer-grid {
        grid-template-columns: 1fr;
    }
    .landing-footer-bottom {
        flex-direction: column;
        text-align: center;
    }
    .landing-footer-enamad {
        margin-inline-start: 0;
    }
    .landing-audience-grid {
        grid-template-columns: 1fr;
    }
    .landing-form-row {
        grid-template-columns: 1fr;
    }
    .landing-hero-preview {
        transform: none !important;
    }
}

@media (max-width: 480px) {
    .landing-hero-actions {
        flex-direction: column;
    }
    .landing-hero-actions .landing-btn {
        width: 100%;
        justify-content: center;
    }
    .landing-use-cases {
        grid-template-columns: 1fr;
    }
    .landing-before-after {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   Animations
   ============================================================ */
@media (prefers-reduced-motion: no-preference) {
    .landing-fade-up {
        opacity: 0;
        transform: translateY(24px);
        transition: opacity 0.6s ease, transform 0.6s ease;
    }
    .landing-fade-up.visible {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .landing-fade-up {
        opacity: 1;
        transform: none;
    }
    * {
        transition: none !important;
        animation: none !important;
    }
}

/* Accessibility */
.landing-skip-link {
    position: absolute;
    top: -100%;
    inset-inline-start: 1rem;
    background: var(--landing-primary);
    color: #fff;
    padding: 0.5rem 1rem;
    border-radius: 0 0 var(--landing-radius-sm) var(--landing-radius-sm);
    z-index: 9999;
    font-size: 0.85rem;
    text-decoration: none;
}

.landing-skip-link:focus {
    top: 0;
}

:focus-visible {
    outline: 2px solid var(--landing-primary);
    outline-offset: 2px;
}

/* Print styles */
@media print {
    .landing-header,
    .landing-footer,
    .landing-mobile-menu,
    .landing-btn {
        display: none !important;
    }
}

/* Toast for landing */
.landing-toast-container {
    position: fixed;
    bottom: 1rem;
    inset-inline-end: 1rem;
    z-index: 9999;
}
/* 2026 premium landing refresh */
@font-face{font-family:Vazirmatn;src:url('/fonts/Vazirmatn-Regular.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:Vazirmatn;src:url('/fonts/Vazirmatn-Bold.woff2') format('woff2');font-display:swap;font-weight:700}
:root{--landing-primary:#173ea5;--landing-primary-hover:#123487;--landing-secondary:#07946f;--landing-purple:#7157d9;--landing-bg:#fff;--landing-surface:#f7f9fc;--landing-text:#111b2e;--landing-text-muted:#667085;--landing-border:#e6eaf1;--landing-shadow:0 24px 70px rgba(20,39,80,.1)}
[data-bs-theme=dark]{--landing-bg:#0c1220;--landing-surface:#121a2b;--landing-text:#f3f6fb;--landing-text-muted:#a5aec0;--landing-border:#263147;--landing-shadow:0 24px 70px rgba(0,0,0,.28)}
html{scroll-behavior:smooth}body.landing-page{font-family:Vazirmatn,Inter,system-ui,sans-serif;background:var(--landing-bg);color:var(--landing-text);line-height:1.7;overflow-x:hidden}.landing-section-inner,.landing-header-inner,.landing-footer-inner,.landing-hero-inner{width:min(1180px,calc(100% - 40px));margin-inline:auto}.landing-header{height:76px;background:color-mix(in srgb,var(--landing-bg) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid transparent;position:sticky;top:0;z-index:50}.landing-header.scrolled{border-color:var(--landing-border);box-shadow:0 8px 30px rgba(18,38,63,.05)}.landing-header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.landing-logo{display:inline-flex;align-items:center;gap:10px;color:var(--landing-text);font-weight:800;text-decoration:none;white-space:nowrap}.logo-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(145deg,var(--landing-primary),var(--landing-purple));box-shadow:0 8px 20px rgba(23,62,165,.24)}.landing-nav{display:flex;gap:28px}.landing-nav a,.landing-login{font-size:.91rem;color:var(--landing-text-muted);text-decoration:none;font-weight:600}.landing-nav a:hover,.landing-login:hover{color:var(--landing-primary)}.landing-header-actions{display:flex;align-items:center;gap:10px}.landing-btn{border-radius:11px;padding:.68rem 1.15rem;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;transition:.22s}.landing-btn:hover{transform:translateY(-2px)}.landing-btn-primary{background:var(--landing-primary);color:#fff;box-shadow:0 10px 24px rgba(23,62,165,.2)}.landing-btn-primary:hover{background:var(--landing-primary-hover);color:#fff}.landing-btn-outline{border-color:var(--landing-border);background:var(--landing-bg);color:var(--landing-text)}.landing-btn-lg{padding:.9rem 1.4rem}.landing-btn-icon{background:transparent;border:0;color:var(--landing-text);width:40px;height:40px;border-radius:10px}.landing-mobile-toggle,.landing-mobile-menu,.landing-mobile-overlay{display:none}
.landing-hero{min-height:720px;display:flex;align-items:center;padding:80px 0 100px;background:radial-gradient(circle at 75% 30%,rgba(113,87,217,.09),transparent 31%),radial-gradient(circle at 20% 70%,rgba(7,148,111,.07),transparent 28%)}.landing-hero-inner{display:grid;grid-template-columns:1.06fr .94fr;gap:70px;align-items:center}.landing-hero-content h1{font-size:clamp(2.6rem,5vw,4.7rem);letter-spacing:-.05em;line-height:1.14;margin:22px 0}.landing-hero-content p{font-size:1.16rem;color:var(--landing-text-muted);max-width:650px}.landing-badge,.eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--landing-primary);background:#eef3ff;border:1px solid #dbe5ff;border-radius:99px;padding:6px 12px;font-size:.82rem;font-weight:800}[data-bs-theme=dark] .landing-badge,[data-bs-theme=dark] .eyebrow{background:#162442;border-color:#25385e}.landing-hero-actions{display:flex;gap:12px;margin:30px 0 18px}.landing-hero-content small{color:var(--landing-text-muted)}.landing-hero-visual{height:500px;position:relative;display:grid;place-items:center}.ai-core{position:relative;z-index:3;width:176px;height:176px;border-radius:50%;display:grid;place-items:center;background:var(--landing-bg);box-shadow:var(--landing-shadow);border:1px solid var(--landing-border);text-align:center;font-weight:800}.ai-core-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,var(--landing-primary),var(--landing-purple));color:#fff;font-size:2rem}.hero-orbit{position:absolute;border:1px solid rgba(23,62,165,.18);border-radius:50%}.orbit-one{width:340px;height:340px}.orbit-two{width:480px;height:480px}.floating-chip{position:absolute;z-index:4;padding:10px 15px;border-radius:13px;background:var(--landing-bg);border:1px solid var(--landing-border);box-shadow:0 12px 35px rgba(22,42,82,.1);font-size:.85rem;font-weight:700}.floating-chip i{color:var(--landing-primary);margin-inline-end:6px}.chip-a{top:16%;inset-inline-start:5%}.chip-b{top:56%;inset-inline-end:0}.chip-c{bottom:12%;inset-inline-start:12%}
.trust-strip{padding:27px 0;border-block:1px solid var(--landing-border);background:var(--landing-surface)}.trust-strip p{text-align:center;color:var(--landing-text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;margin-bottom:18px}.trust-strip .landing-section-inner>div{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}.trust-strip span{display:flex;align-items:center;gap:7px;font-size:.86rem;font-weight:700;color:var(--landing-text-muted)}.trust-strip i{color:var(--landing-secondary);font-size:1.1rem}.landing-section{padding:110px 0}.section-tint{background:var(--landing-surface)}.landing-section-header{max-width:760px;text-align:center;margin:0 auto 58px}.landing-section-header h2{font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.25;letter-spacing:-.035em;margin:15px 0}.landing-section-header p{color:var(--landing-text-muted);font-size:1.05rem}.eyebrow{background:transparent;border:0;padding:0;letter-spacing:.12em}.advantage-grid,.module-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.advantage-card,.module-card{padding:26px;border:1px solid var(--landing-border);border-radius:18px;background:var(--landing-bg);transition:.25s}.advantage-card:hover,.module-card:hover{transform:translateY(-5px);border-color:rgba(23,62,165,.35);box-shadow:0 20px 45px rgba(30,52,94,.08)}.advantage-card>i{font-size:1.65rem;color:var(--landing-primary)}.advantage-card h3,.module-card h3{font-size:1rem;margin:16px 0 8px}.advantage-card p,.module-card p{font-size:.85rem;color:var(--landing-text-muted);margin:0}.module-card{text-decoration:none;color:var(--landing-text);min-height:255px;display:flex;flex-direction:column}.module-icon{width:48px;height:48px;border-radius:13px;background:#eef3ff;color:var(--landing-primary);display:grid;place-items:center;font-size:1.35rem}.module-link{font-size:.82rem;color:var(--landing-primary);font-weight:800;margin-top:auto;padding-top:16px}.steps-grid{display:grid;grid-template-columns:repeat(5,1fr);position:relative}.steps-grid:before{content:"";position:absolute;top:29px;inset-inline:10%;width:80%;height:1px;background:var(--landing-border)}.step-card{text-align:center;position:relative}.step-card>span{position:relative;z-index:2;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--landing-bg);border:1px solid var(--landing-border);margin:0 auto 24px;color:var(--landing-primary);font-weight:800}.step-card>i{font-size:1.8rem;color:var(--landing-purple)}.step-card h3{font-size:.93rem;margin-top:12px}.feature-band{padding:70px 0;background:#102860;color:#fff}.feature-band .landing-section-header{margin-bottom:35px}.feature-pills{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.feature-pills span{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);padding:9px 14px;border-radius:99px;font-size:.86rem}.feature-pills i{color:#58d3ac;margin-inline-end:5px}
.section-dark{background:#09111f;color:#f7f9ff}.section-dark .landing-section-header p{color:#9ca9bd}.product-window{border:1px solid #29364b;background:#101a2a;border-radius:20px;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.38)}.window-top{height:48px;background:#142033;border-bottom:1px solid #29364b;display:flex;align-items:center;gap:7px;padding:0 18px;color:#8e9bb0;font-size:.8rem}.window-top i{width:9px;height:9px;border-radius:50%;background:#41506a}.window-top i:first-child{background:#f06b67}.window-top span{margin-inline-start:10px}.window-body{display:grid;grid-template-columns:190px 1fr 250px;min-height:440px}.window-body aside{border-inline-end:1px solid #29364b;padding:24px 15px;display:flex;flex-direction:column;gap:8px}.window-body aside strong{margin-bottom:20px}.window-body aside a{padding:9px;border-radius:8px;color:#8795aa;font-size:.8rem}.window-body aside a.active{background:#1c2d4c;color:#dce6ff}.document-pane{padding:30px 38px;background:#f7f8fb;color:#283246}.doc-toolbar{display:flex;gap:8px;margin-bottom:32px}.doc-toolbar span{width:22px;height:7px;background:#dce1e9;border-radius:4px}.document-pane h3{font-size:1.18rem;margin-bottom:28px}.document-pane>p{height:8px;background:#dfe4ec;border-radius:5px;margin:13px 0}.document-pane>p.short{width:65%}.ai-suggestion{margin-top:42px;background:#e9f0ff;border:1px solid #cad9ff;border-radius:12px;padding:14px;display:flex;gap:12px;color:#21458f}.ai-suggestion small{display:block;color:#5d6d8d;margin-top:3px}.assistant-pane{padding:28px 20px;border-inline-start:1px solid #29364b}.assistant-pane b i{color:#76a0ff;margin-inline-end:7px}.chat-bubble{background:#18263b;color:#b9c4d6;border-radius:12px;padding:14px;margin:24px 0;font-size:.8rem}.progress-card{background:#142033;border:1px solid #29364b;padding:15px;border-radius:12px;font-size:.8rem}.progress-card b{float:inline-end}.progress-card>div{height:5px;background:#273750;border-radius:5px;margin-top:12px}.progress-card>div i{display:block;width:72%;height:100%;background:#4f7ee8;border-radius:5px}
.testimonial-grid,.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.testimonial-card,.price-card{border:1px solid var(--landing-border);background:var(--landing-bg);border-radius:18px;padding:28px}.stars{color:#f6a51c;letter-spacing:3px}.testimonial-card blockquote{margin:20px 0 28px;font-size:.95rem}.person{display:flex;align-items:center;gap:12px}.person>span{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:#eef3ff;color:var(--landing-primary);font-weight:800}.person small{display:block;color:var(--landing-text-muted)}.price-card{padding:34px;position:relative}.price-card.featured{border:2px solid var(--landing-primary);box-shadow:0 20px 55px rgba(23,62,165,.12);transform:translateY(-10px)}.popular{position:absolute;top:0;inset-inline-end:22px;transform:translateY(-50%);background:var(--landing-primary);color:#fff;padding:4px 11px;border-radius:99px;font-size:.75rem}.price-card>p{color:var(--landing-text-muted)}.price-card>strong{display:block;font-size:1.35rem;margin:24px 0}.price-card ul{list-style:none;padding:0;margin:0 0 28px}.price-card li{padding:7px 0;color:var(--landing-text-muted);font-size:.9rem}.price-card li:before{content:"✓";color:var(--landing-secondary);margin-inline-end:8px}.price-card .landing-btn{width:100%}.pricing-note{text-align:center;color:var(--landing-text-muted);margin-top:35px}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start}.faq-layout .landing-section-header{text-align:start;margin:0}.landing-faq-item{border-bottom:1px solid var(--landing-border)}.landing-faq-question{width:100%;padding:22px 0;background:none;border:0;color:var(--landing-text);display:flex;justify-content:space-between;text-align:start;font-weight:800}.landing-faq-question i{font-size:1.25rem}.landing-faq-answer{max-height:0;overflow:hidden;transition:max-height .3s}.landing-faq-answer-inner{padding:0 0 22px;color:var(--landing-text-muted)}.landing-faq-item.open .landing-faq-question i{transform:rotate(45deg)}.landing-final-cta{padding:110px 0;background:radial-gradient(circle at 50% 0,rgba(113,87,217,.14),transparent 45%),var(--landing-surface);text-align:center}.landing-final-cta h2{font-size:clamp(2.1rem,4vw,3.5rem);max-width:800px;margin:20px auto}.landing-final-cta p{color:var(--landing-text-muted);font-size:1.08rem}.landing-final-cta>div>div{display:flex;gap:12px;justify-content:center;margin-top:30px}.cta-orb{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:var(--landing-primary);color:#fff;font-size:1.6rem;margin:auto}.landing-footer{padding:70px 0 25px;background:#08101d;color:#d9e0eb}.landing-footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:55px}.landing-footer-brand p{max-width:330px;color:#8f9caf;margin-top:17px}.landing-footer .landing-logo{color:#fff}.landing-footer-col{display:flex;flex-direction:column;gap:9px}.landing-footer-col h4{font-size:.92rem;margin-bottom:12px}.landing-footer-col a{color:#8f9caf;text-decoration:none;font-size:.85rem}.landing-footer-col a:hover{color:#fff}.socials{display:flex;gap:8px;margin-top:8px}.socials a{width:34px;height:34px;border:1px solid #28374f;border-radius:9px;display:grid;place-items:center}.footer-bottom{border-top:1px solid #202d40;margin-top:55px;padding-top:23px;display:flex;justify-content:space-between;color:#738096;font-size:.78rem}.landing-fade-up{opacity:0;transform:translateY(18px);transition:.6s}.landing-fade-up.visible{opacity:1;transform:none}
@media(max-width:992px){.landing-nav,.landing-login{display:none}.landing-mobile-toggle{display:block}.landing-mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:59}.landing-mobile-overlay.open{display:block}.landing-mobile-menu{display:flex;position:fixed;z-index:60;top:0;bottom:0;inset-inline-end:0;width:min(320px,88%);background:var(--landing-bg);padding:24px;flex-direction:column;gap:20px;transform:translateX(110%);transition:.3s}.landing-mobile-menu.open{transform:none}.landing-mobile-menu a{color:var(--landing-text);text-decoration:none}.landing-hero-inner{grid-template-columns:1fr}.landing-hero-content{text-align:center}.landing-hero-content p{margin-inline:auto}.landing-hero-actions{justify-content:center}.landing-hero-visual{height:390px}.advantage-grid,.module-grid{grid-template-columns:repeat(2,1fr)}.window-body{grid-template-columns:150px 1fr}.assistant-pane{display:none}.testimonial-grid,.pricing-grid{grid-template-columns:1fr}.price-card.featured{transform:none}.faq-layout{grid-template-columns:1fr;gap:35px}.faq-layout .landing-section-header{text-align:center}.landing-footer-grid{grid-template-columns:1.5fr 1fr 1fr}.landing-footer-col:last-child{display:none}}
@media(max-width:620px){.landing-section-inner,.landing-header-inner,.landing-footer-inner,.landing-hero-inner{width:min(100% - 28px,1180px)}.landing-header{height:66px}.landing-header-actions>.landing-btn-primary{display:none}.landing-hero{min-height:auto;padding:70px 0}.landing-hero-content h1{font-size:2.35rem}.landing-hero-actions,.landing-final-cta>div>div{flex-direction:column}.landing-hero-visual{height:320px}.orbit-two{width:310px;height:310px}.orbit-one{width:230px;height:230px}.ai-core{width:130px;height:130px}.ai-core-icon{width:54px;height:54px}.trust-strip .landing-section-inner>div{justify-content:center}.landing-section{padding:76px 0}.advantage-grid,.module-grid{grid-template-columns:1fr}.steps-grid{grid-template-columns:1fr;gap:18px}.steps-grid:before{display:none}.step-card{display:flex;align-items:center;text-align:start;gap:14px;border-bottom:1px solid var(--landing-border);padding-bottom:14px}.step-card>span{margin:0}.step-card h3{margin:0}.window-body{grid-template-columns:1fr}.window-body aside{display:none}.document-pane{padding:25px 20px}.testimonial-grid{grid-template-columns:1fr}.landing-footer-grid{grid-template-columns:1fr 1fr}.landing-footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:8px}.floating-chip{font-size:.72rem}.chip-a{inset-inline-start:0}.chip-b{inset-inline-end:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.landing-fade-up{opacity:1;transform:none}}
html[lang="fa"] body.landing-page,html[lang="fa"] body.landing-page button,html[lang="fa"] body.landing-page input,html[lang="fa"] body.landing-page select{font-family:Vazirmatn,Tahoma,sans-serif!important}.service-configurator{max-width:1000px;margin:auto;background:var(--landing-bg);border:1px solid var(--landing-border);border-radius:22px;padding:32px;box-shadow:0 22px 60px rgba(23,42,80,.08)}.configurator-grid{display:grid;grid-template-columns:2fr .65fr 1fr 1.25fr;gap:18px}.config-field{display:flex;flex-direction:column;gap:8px}.config-field label{font-size:.82rem;font-weight:800;color:var(--landing-text-muted)}.config-field .form-control,.config-field .form-select{min-height:48px;border-radius:11px;border-color:var(--landing-border);background-color:var(--landing-bg);color:var(--landing-text)}.config-module{grid-column:1/-1}.configurator-summary{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:26px;padding-top:25px;border-top:1px solid var(--landing-border)}.configurator-summary>div{display:grid;gap:3px}.configurator-summary small,.configurator-summary span{color:var(--landing-text-muted)}.configurator-summary strong{font-size:1.65rem;color:var(--landing-primary)}.configurator-summary span{font-size:.76rem}@media(max-width:850px){.configurator-grid{grid-template-columns:1fr 1fr}.config-service,.config-module{grid-column:1/-1}}@media(max-width:560px){.service-configurator{padding:20px}.configurator-grid{grid-template-columns:1fr}.config-service,.config-module{grid-column:auto}.configurator-summary{align-items:stretch;flex-direction:column}.configurator-summary .landing-btn{width:100%}}
html[lang="fa"] body.landing-page,html[lang="fa"] body.landing-page button,html[lang="fa"] body.landing-page input,html[lang="fa"] body.landing-page select{font-family:Vazirmatn,Tahoma,sans-serif!important}.service-configurator{max-width:1000px;margin:auto;background:var(--landing-bg);border:1px solid var(--landing-border);border-radius:22px;padding:32px;box-shadow:0 22px 60px rgba(23,42,80,.08)}.configurator-grid{display:grid;grid-template-columns:2fr .65fr 1fr 1.25fr;gap:18px}.config-field{display:flex;flex-direction:column;gap:8px}.config-field label{font-size:.82rem;font-weight:800;color:var(--landing-text-muted)}.config-field .form-control,.config-field .form-select{min-height:48px;border-radius:11px;border-color:var(--landing-border);background-color:var(--landing-bg);color:var(--landing-text)}.configurator-summary{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:26px;padding-top:25px;border-top:1px solid var(--landing-border)}.configurator-summary>div{display:grid;gap:3px}.configurator-summary small,.configurator-summary span{color:var(--landing-text-muted)}.configurator-summary strong{font-size:1.65rem;color:var(--landing-primary)}.configurator-summary span{font-size:.76rem}.pricing-value-row{display:flex!important;align-items:center;gap:12px;flex-wrap:wrap}.pricing-value-row del{color:var(--landing-text-muted);font-size:.9rem}.pricing-discount-badge{color:#08795e!important;background:#e8f8f2;border-radius:99px;padding:3px 9px;font-weight:800}[data-bs-theme=dark] .pricing-discount-badge{background:#123a31;color:#6de0bd!important}@media(max-width:850px){.configurator-grid{grid-template-columns:1fr 1fr}.config-service{grid-column:1/-1}}@media(max-width:560px){.service-configurator{padding:20px}.configurator-grid{grid-template-columns:1fr}.config-service{grid-column:auto}.configurator-summary{align-items:stretch;flex-direction:column}.configurator-summary .landing-btn{width:100%}}

/* Keep the refreshed light CTA legible over the inherited legacy CTA colors. */
.landing-final-cta {
    color: var(--landing-text);
    border-block: 1px solid var(--landing-border);
}

/* Resolve legacy/refreshed mobile-menu rule conflicts. */
@media (max-width: 992px) {
    .landing-mobile-overlay,
    .landing-mobile-overlay.show {
        display: none;
        z-index: 1055;
    }

    .landing-mobile-overlay.open {
        display: block;
    }

    .landing-mobile-menu,
    .landing-mobile-menu.open {
        display: flex;
        z-index: 1060;
        right: auto;
        flex-direction: column;
        gap: 0;
        box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
    }

    .landing-mobile-menu:not(.open) {
        pointer-events: none;
    }

    html[dir="rtl"] .landing-mobile-menu {
        transform: translateX(-110%);
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.15);
    }

    html[dir="rtl"] .landing-mobile-menu.open {
        transform: translateX(0);
    }

    .landing-mobile-close {
        flex: 0 0 40px;
        margin-inline-start: auto;
        margin-bottom: 1rem;
        font-size: 1.25rem;
    }

    .landing-mobile-nav {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .landing-mobile-nav a {
        display: flex;
        align-items: center;
        min-height: 52px;
        width: 100%;
        padding: 0.75rem 0.5rem;
        border-bottom: 1px solid var(--landing-border);
        font-weight: 700;
        line-height: 1.5;
    }
}

.landing-final-cta h2 {
    color: var(--landing-text);
}

.landing-final-cta .landing-btn-outline {
    color: var(--landing-text);
    background: var(--landing-bg);
    border-color: var(--landing-border);
    box-shadow: 0 8px 22px rgba(17, 27, 46, 0.08);
}

.landing-final-cta .landing-btn-outline:hover {
    color: var(--landing-primary);
    background: var(--landing-primary-light);
    border-color: color-mix(in srgb, var(--landing-primary) 35%, var(--landing-border));
}

/* Thesis workspace preview: text remains readable in RTL, LTR, and dark mode. */
.thesis-preview { display:block; width:100%; min-width:0; height:auto; min-height:0; border:1px solid var(--bs-border-color); border-radius:20px; background:var(--bs-body-bg); box-shadow:0 24px 70px rgba(30,50,90,.12); overflow:hidden; transform:rotate(-1deg); }
.preview-heading { display:flex; justify-content:space-between; gap:12px; padding:18px; border-bottom:1px solid var(--bs-border-color); font-weight:700; }
.preview-heading small,.preview-outline small { color:var(--bs-secondary-color); font-size:11px; }
.preview-steps { display:flex; flex-wrap:wrap; gap:8px; padding:14px; font-size:10px; border-bottom:1px solid var(--bs-border-color); }
.preview-steps span { padding:5px; border-radius:6px; }.preview-steps .current { color:#2563eb; background:rgba(37,99,235,.1); }
.preview-body { display:grid; grid-template-columns:140px minmax(0,1fr); text-align:start; }
.preview-outline { display:flex; flex-direction:column; gap:14px; padding:20px 12px; border-inline-end:1px solid var(--bs-border-color); font-size:11px; }
.preview-outline .selected { background:rgba(37,99,235,.1); color:#2563eb; padding:8px; border-radius:6px; }
.preview-editor { padding:22px; }.preview-editor h3 { font-size:16px; margin:16px 0; }.preview-editor p { font-size:12px; line-height:2.2; color:var(--bs-secondary-color); }
.preview-status { color:#15803d; background:rgba(22,163,74,.1); border-radius:20px; padding:5px 10px; font-size:10px; }
.preview-review { border:1px dashed var(--bs-border-color); padding:12px; margin-block:20px; font-size:11px; border-radius:8px; }
.preview-actions { display:flex; flex-wrap:wrap; gap:8px; font-size:10px; }.preview-actions span { padding:8px 10px; border:1px solid var(--bs-border-color); border-radius:7px; }.preview-actions span:last-child { background:#2563eb; color:white; }
@media(max-width:575px) { .thesis-preview { transform:none; }.preview-body { grid-template-columns:1fr; }.preview-outline { display:none; }.preview-heading { font-size:12px; }.preview-editor { padding:18px; } }

@media(min-width:993px) { .module-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* About Basir: long-form story with a scan-friendly research journey. */
.basir-about { position:relative; overflow:hidden; background:linear-gradient(180deg,var(--landing-bg) 0%,var(--landing-surface) 100%); }
.basir-about::before { content:""; position:absolute; width:420px; height:420px; inset-block-start:-210px; inset-inline-end:-190px; border-radius:50%; background:color-mix(in srgb,var(--landing-primary) 8%,transparent); pointer-events:none; }
.basir-about-intro { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:clamp(32px,7vw,90px); align-items:start; margin-bottom:46px; }
.basir-about-intro h2 { margin:14px 0 0; font-size:clamp(2.2rem,4vw,3.6rem); letter-spacing:-.04em; }
.basir-about-intro p { margin:0; color:var(--landing-text-secondary); font-size:1.05rem; line-height:2.15; }
.basir-about-panel { border:1px solid var(--landing-border); border-radius:26px; padding:clamp(24px,4vw,46px); background:var(--landing-bg); box-shadow:0 26px 70px rgba(25,48,92,.08); }
.basir-about-panel-copy { display:grid; grid-template-columns:auto 1fr; column-gap:16px; align-items:center; max-width:900px; }
.basir-about-icon { grid-row:1/3; width:58px; height:58px; display:grid; place-items:center; border-radius:17px; color:#fff; background:linear-gradient(145deg,var(--landing-primary),var(--landing-purple)); font-size:1.55rem; }
.basir-about-panel h3 { margin:0; font-size:clamp(1.25rem,2vw,1.65rem); }
.basir-about-panel-copy p { margin:7px 0 0; color:var(--landing-text-muted); line-height:1.9; }
.basir-journey { list-style:none; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; margin:36px 0 0; padding:0; position:relative; }
.basir-journey::before { content:""; position:absolute; z-index:0; top:22px; inset-inline:5%; width:90%; height:2px; background:linear-gradient(90deg,var(--landing-primary),var(--landing-purple)); opacity:.2; }
.basir-journey li { position:relative; z-index:1; min-width:0; text-align:center; padding:0 5px; }
.basir-journey-number { width:44px; height:44px; display:grid; place-items:center; margin:0 auto 14px; border:1px solid color-mix(in srgb,var(--landing-primary) 28%,var(--landing-border)); border-radius:50%; background:var(--landing-bg); color:var(--landing-primary); font-weight:900; box-shadow:0 6px 16px rgba(25,48,92,.07); }
.basir-journey li>i { display:block; margin-bottom:8px; color:var(--landing-purple); font-size:1.35rem; }
.basir-journey strong { display:block; font-size:.77rem; line-height:1.65; }
.basir-about-outcome { display:flex; gap:20px; align-items:center; max-width:980px; margin:28px auto 0; padding:24px 28px; border:1px solid color-mix(in srgb,var(--landing-primary) 18%,var(--landing-border)); border-radius:18px; background:color-mix(in srgb,var(--landing-primary) 5%,var(--landing-bg)); }
.basir-about-outcome>i { flex:0 0 auto; width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:var(--landing-primary-light); color:var(--landing-primary); font-size:1.4rem; }
.basir-about-outcome p { margin:0 0 8px; color:var(--landing-text-secondary); line-height:1.9; }
.basir-about-outcome strong { color:var(--landing-primary); font-size:1.06rem; }
@media(max-width:992px) { .basir-about-intro { grid-template-columns:1fr; gap:18px; }.basir-journey { grid-template-columns:repeat(4,1fr); row-gap:28px; }.basir-journey::before { display:none; } }
@media(max-width:620px) { .basir-about-panel { border-radius:20px; }.basir-about-panel-copy { grid-template-columns:1fr; }.basir-about-icon { grid-row:auto; margin-bottom:16px; }.basir-journey { grid-template-columns:1fr 1fr; gap:12px; }.basir-journey li { display:grid; grid-template-columns:36px 28px 1fr; align-items:center; text-align:start; gap:6px; padding:10px; border:1px solid var(--landing-border); border-radius:12px; }.basir-journey-number { width:36px; height:36px; margin:0; }.basir-journey li>i { margin:0; font-size:1.15rem; }.basir-journey strong { font-size:.73rem; }.basir-about-outcome { align-items:flex-start; padding:20px; }.basir-about-outcome>i { width:42px; height:42px; }.basir-about-intro p { font-size:.98rem; line-height:2; } }
@media(max-width:420px) { .basir-journey { grid-template-columns:1fr; }.basir-about-outcome { flex-direction:column; } }

/* Contact block */
.contact-section { background:var(--landing-surface); border-top:1px solid var(--landing-border); }
.contact-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:clamp(36px,7vw,90px); align-items:center; }
.contact-content h2 { margin:14px 0 18px; font-size:clamp(2.2rem,4vw,3.5rem); letter-spacing:-.04em; }
.contact-content>p { max-width:690px; color:var(--landing-text-muted); font-size:1.04rem; line-height:2; }
.contact-phone { display:inline-flex; align-items:center; gap:14px; margin:22px 0; padding:15px 18px; color:var(--landing-text); text-decoration:none; border:1px solid var(--landing-border); border-radius:16px; background:var(--landing-bg); transition:.2s ease; }
.contact-phone:hover { color:var(--landing-primary); border-color:color-mix(in srgb,var(--landing-primary) 35%,var(--landing-border)); transform:translateY(-2px); }
.contact-phone>i { width:44px; height:44px; display:grid; place-items:center; border-radius:12px; background:var(--landing-primary-light); color:var(--landing-primary); font-size:1.3rem; }
.contact-phone span { display:grid; text-align:start; }.contact-phone small { color:var(--landing-text-muted); font-size:.76rem; }.contact-phone strong { font-size:1.2rem; letter-spacing:.04em; }
.contact-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.contact-action { min-height:58px; display:flex; align-items:center; justify-content:center; gap:8px; padding:10px 12px; border:1px solid var(--landing-border); border-radius:13px; background:var(--landing-bg); color:var(--landing-text); text-decoration:none; font-size:.82rem; font-weight:800; transition:.2s ease; }
.contact-action:hover { transform:translateY(-3px); box-shadow:0 10px 25px rgba(25,48,92,.08); }.contact-action i { font-size:1.25rem; }.contact-action.whatsapp i { color:#159b55; }.contact-action.telegram i { color:#258bca; }.contact-action.eitaa i { color:#7b61d1; }
.contact-qr { display:flex; flex-direction:column; align-items:center; gap:12px; padding:18px; color:var(--landing-text); text-decoration:none; border:1px solid var(--landing-border); border-radius:24px; background:var(--landing-bg); box-shadow:0 25px 60px rgba(25,48,92,.1); transition:.25s ease; }
.contact-qr:hover { color:var(--landing-primary); transform:translateY(-4px); }.contact-qr span { color:var(--landing-text-muted); font-size:.82rem; }.contact-qr img { display:block; width:min(100%,300px); height:auto; aspect-ratio:1080/1280; object-fit:contain; border-radius:15px; }.contact-qr strong { font-size:.95rem; letter-spacing:.02em; }
@media(max-width:850px) { .contact-layout { grid-template-columns:1fr; }.contact-qr { width:min(100%,390px); margin:auto; }.contact-actions { grid-template-columns:1fr; }.contact-action { justify-content:flex-start; padding-inline:18px; } }
@media(max-width:420px) { .contact-phone { width:100%; }.contact-phone strong { font-size:1.05rem; }.contact-qr { border-radius:18px; padding:14px; } }

/* Curated academic links in the footer. */
.landing-related-sites { margin-top:48px; padding-top:28px; border-top:1px solid #202d40; }
.landing-related-sites h4 { display:flex; align-items:center; gap:8px; margin:0 0 16px; color:#d9e0eb; font-size:.92rem; }
.landing-related-sites h4 i { color:#76a0ff; font-size:1.1rem; }
.landing-related-sites>div { display:flex; flex-wrap:wrap; gap:9px; }
.landing-related-sites a { display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:8px 12px; border:1px solid #28374f; border-radius:10px; color:#9ca9bd; text-decoration:none; font-size:.78rem; transition:.2s ease; }
.landing-related-sites a:hover { color:#fff; border-color:#4f6f9f; background:#111d30; transform:translateY(-2px); }
.landing-related-sites a i { color:#72819a; font-size:.85rem; }
.landing-related-sites a:hover i { color:#9eb9e8; }
@media(max-width:620px) { .landing-related-sites { margin-top:36px; }.landing-related-sites>div { display:grid; grid-template-columns:1fr 1fr; }.landing-related-sites a { justify-content:space-between; } }
@media(max-width:420px) { .landing-related-sites>div { grid-template-columns:1fr; } }

/* ============================================================
   Trial Promo Band (Replaced Feature Band) & Module Trial Tag
   ============================================================ */
.trial-band {
    padding: 76px 0;
    background: color-mix(in srgb, var(--landing-primary) 3%, var(--landing-bg));
    border-block: 1px solid var(--landing-border);
}
.trial-card {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 36px;
    align-items: center;
    background: var(--landing-bg);
    border: 1px solid color-mix(in srgb, var(--landing-primary) 30%, var(--landing-border));
    border-radius: 24px;
    padding: clamp(24px, 4vw, 44px);
    box-shadow: 0 20px 50px rgba(25, 48, 92, 0.07);
    position: relative;
    overflow: hidden;
}
.trial-card::before {
    content: "";
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(180deg, var(--landing-primary), #8b5cf6);
}
.trial-card-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 99px;
    background: color-mix(in srgb, var(--landing-primary) 12%, transparent);
    color: var(--landing-primary);
    font-size: 0.82rem;
    font-weight: 800;
    margin-bottom: 14px;
}
.trial-card-content h2 {
    font-size: clamp(1.6rem, 2.5vw, 2.2rem);
    letter-spacing: -0.03em;
    margin: 0 0 12px;
}
.trial-card-content p {
    color: var(--landing-text-secondary);
    font-size: 1.02rem;
    line-height: 1.95;
    max-width: 720px;
    margin: 0 0 24px;
}
.trial-perks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
.trial-perk-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    background: color-mix(in srgb, var(--landing-primary) 4%, var(--landing-bg));
    border: 1px solid var(--landing-border);
    border-radius: 14px;
}
.trial-perk-item i {
    font-size: 1.35rem;
    color: var(--landing-primary);
    flex-shrink: 0;
    margin-top: 2px;
}
.trial-perk-item div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.trial-perk-item strong {
    font-size: 0.88rem;
    color: var(--landing-text);
}
.trial-perk-item span {
    font-size: 0.77rem;
    color: var(--landing-text-muted);
    line-height: 1.6;
}
.trial-card-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    min-width: 260px;
}
.trial-card-action .landing-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 22px;
    font-weight: 800;
    gap: 8px;
}
.trial-card-action small {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.78rem;
    color: var(--landing-text-muted);
}
.module-card {
    position: relative;
}
.module-trial-tag {
    position: absolute;
    top: 18px;
    inset-inline-end: 18px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    background: linear-gradient(135deg, #059669, #10b981);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    border-radius: 99px;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
@media (max-width: 992px) {
    .trial-card {
        grid-template-columns: 1fr;
    }
    .trial-perks {
        grid-template-columns: 1fr;
    }
    .trial-card-action {
        width: 100%;
    }
}

/* ============================================================
   Header & Hero UX Refinement
   - Prevents nav link word-wrapping on desktop resolutions
   - Highlights Free Trial gracefully in navigation
   - Tightens Hero vertical rhythm so workspace preview is visible above fold
   - Fixes badge proportions and margin
   ============================================================ */
.landing-header-inner {
    width: min(1280px, calc(100% - 32px)) !important;
}

.landing-nav {
    display: flex !important;
    align-items: center !important;
    gap: clamp(8px, 1.15vw, 18px) !important;
}

.landing-nav a {
    white-space: nowrap !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    padding: 4px 5px !important;
    transition: color 0.18s ease;
}

.nav-trial-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    background: #eef4ff !important;
    color: var(--landing-primary) !important;
    border: 1px solid #cddcff !important;
    padding: 3px 10px !important;
    border-radius: 99px !important;
    font-weight: 700 !important;
    font-size: 0.82rem !important;
    box-shadow: 0 2px 6px rgba(23, 62, 165, 0.08);
    transition: all 0.2s ease !important;
}

.nav-trial-badge i {
    font-size: 0.88rem;
    color: var(--landing-primary);
}

.nav-trial-badge:hover {
    background: var(--landing-primary) !important;
    color: #fff !important;
    border-color: var(--landing-primary) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(23, 62, 165, 0.22);
}

.nav-trial-badge:hover i {
    color: #fff;
}

[data-bs-theme="dark"] .nav-trial-badge {
    background: #17284d !important;
    border-color: #2c4276 !important;
    color: #9abeff !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

[data-bs-theme="dark"] .nav-trial-badge i {
    color: #9abeff;
}

@media (max-width: 1140px) {
    .landing-nav {
        gap: 8px !important;
    }
    .landing-nav a {
        font-size: 0.81rem !important;
        padding: 3px 4px !important;
    }
}

@media (max-width: 992px) {
    .landing-nav {
        display: none !important;
    }
    .landing-mobile-toggle {
        display: inline-flex !important;
    }
}

/* Hero Section UX Polish */
.landing-hero {
    min-height: auto !important;
    padding: 38px 0 54px !important;
}

.landing-hero-inner {
    grid-template-columns: 1.08fr 0.92fr !important;
    gap: 36px !important;
    align-items: center !important;
}

.landing-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 6px 14px !important;
    background: #eef4ff !important;
    color: var(--landing-primary) !important;
    border: 1px solid #d4e2ff !important;
    border-radius: 99px !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    margin-bottom: 1.15rem !important;
    width: fit-content !important;
    max-width: 100% !important;
    box-shadow: 0 2px 6px rgba(23, 62, 165, 0.06) !important;
    white-space: nowrap !important;
}

.landing-badge i {
    font-size: 0.95rem;
}

[data-bs-theme="dark"] .landing-badge {
    background: #14223f !important;
    border-color: #24395f !important;
    color: #93b7ff !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
}

.landing-hero-content h2 {
    font-size: clamp(1.85rem, 3.1vw, 2.65rem) !important;
    letter-spacing: -0.035em !important;
    line-height: 1.34 !important;
    margin: 0 0 16px !important;
    font-weight: 800 !important;
    color: var(--landing-text) !important;
}

.hero-desc-main {
    font-size: 1.04rem !important;
    line-height: 1.8 !important;
    color: var(--landing-text) !important;
    font-weight: 500 !important;
    margin-bottom: 8px !important;
}

.hero-desc-sub {
    font-size: 0.92rem !important;
    line-height: 1.75 !important;
    color: var(--landing-text-muted) !important;
    margin-bottom: 20px !important;
}

.landing-hero-actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 20px 0 12px !important;
    flex-wrap: wrap !important;
}

.hero-trial-note {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: var(--landing-text-muted) !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
}

.thesis-preview {
    border: 1px solid var(--landing-border) !important;
    border-radius: 20px !important;
    background: var(--landing-bg) !important;
    box-shadow: 0 20px 60px rgba(23, 62, 165, 0.1) !important;
    transform: rotate(-1deg);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.thesis-preview:hover {
    transform: rotate(0deg);
    box-shadow: 0 24px 70px rgba(23, 62, 165, 0.14) !important;
}

@media (max-width: 992px) {
    .landing-hero {
        padding: 40px 0 !important;
    }
    .landing-hero-inner {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
    .landing-hero-content {
        text-align: center !important;
    }
    .landing-badge {
        margin-inline: auto !important;
    }
    .landing-hero-actions {
        justify-content: center !important;
    }
    .hero-trial-note {
        justify-content: center !important;
        width: 100% !important;
    }
}


