/*
 * TamilAccounting Theme — v5.0 Design System
 * Migrated to TamilAccounting Design System (ta-* classes)
 * Primary: #1e4496 | Fonts: Poppins + Open Sans
 */

/* ======== GOOGLE FONTS ======== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Open+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

/* ======== DESIGN TOKEN VARIABLES (colors_and_type.css) ======== */
:root {
  /* Primary — Deep Navy */
  --color-primary-950: #060d1f;
  --color-primary-900: #0c1a3d;
  --color-primary-800: #0f2252;
  --color-primary-700: #142d6b;
  --color-primary-600: #1a3880;
  --color-primary-500: #1e4496;
  --color-primary-400: #3a5faf;
  --color-primary-300: #6484c8;
  --color-primary-200: #9fb4e1;
  --color-primary-100: #d4def5;
  --color-primary-50:  #eef2fb;

  /* Accent — Emerald Green */
  --color-accent-950: #022c22;
  --color-accent-900: #064e3b;
  --color-accent-800: #065f46;
  --color-accent-700: #047857;
  --color-accent-600: #059669;
  --color-accent-500: #10b981;
  --color-accent-400: #34d399;
  --color-accent-300: #6ee7b7;
  --color-accent-200: #a7f3d0;
  --color-accent-100: #d1fae5;
  --color-accent-50:  #ecfdf5;

  /* Neutral — Slate */
  --color-neutral-950: #0a0f1a;
  --color-neutral-900: #0f172a;
  --color-neutral-800: #1e293b;
  --color-neutral-700: #334155;
  --color-neutral-600: #475569;
  --color-neutral-500: #64748b;
  --color-neutral-400: #94a3b8;
  --color-neutral-300: #cbd5e1;
  --color-neutral-200: #e2e8f0;
  --color-neutral-100: #f1f5f9;
  --color-neutral-50:  #f8fafc;

  /* Semantic — Success */
  --color-success-700: #15803d;
  --color-success-600: #16a34a;
  --color-success-500: #22c55e;
  --color-success-100: #dcfce7;
  --color-success-50:  #f0fdf4;

  /* Semantic — Warning */
  --color-warning-700: #b45309;
  --color-warning-600: #d97706;
  --color-warning-500: #f59e0b;
  --color-warning-100: #fef3c7;
  --color-warning-50:  #fffbeb;

  /* Semantic — Error */
  --color-error-700: #b91c1c;
  --color-error-600: #dc2626;
  --color-error-500: #ef4444;
  --color-error-100: #fee2e2;
  --color-error-50:  #fef2f2;

  /* Semantic — Info */
  --color-info-700: #0369a1;
  --color-info-600: #0284c7;
  --color-info-500: #0ea5e9;
  --color-info-100: #e0f2fe;
  --color-info-50:  #f0f9ff;

  /* Brand aliases */
  --brand-primary:       var(--color-primary-500);
  --brand-primary-dark:  var(--color-primary-700);
  --brand-primary-light: var(--color-primary-100);
  --brand-accent:        var(--color-accent-600);
  --brand-accent-dark:   var(--color-accent-700);
  --brand-accent-light:  var(--color-accent-100);

  /* Foreground / Text */
  --fg-heading:  var(--color-neutral-900);
  --fg-body:     var(--color-neutral-700);
  --fg-muted:    var(--color-neutral-500);
  --fg-subtle:   var(--color-neutral-400);
  --fg-inverse:  #ffffff;
  --fg-link:     var(--color-primary-500);
  --fg-link-hover: var(--color-accent-600);

  /* Background */
  --bg-page:      #ffffff;
  --bg-subtle:    var(--color-neutral-50);
  --bg-muted:     var(--color-neutral-100);
  --bg-dark:      var(--color-primary-900);
  --bg-dark-deep: var(--color-primary-950);

  /* Border */
  --border-default: var(--color-neutral-200);
  --border-strong:  var(--color-neutral-300);
  --border-focus:   var(--color-primary-400);
  --border-primary: var(--color-primary-500);

  /* Status */
  --status-success: var(--color-success-600);
  --status-warning: var(--color-warning-600);
  --status-error:   var(--color-error-600);
  --status-info:    var(--color-info-600);

  /* Typography */
  --font-display: 'Poppins', system-ui, sans-serif;
  --font-body:    'Open Sans', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', 'Fira Code', monospace;

  /* Font Weights */
  --fw-regular:   400;
  --fw-medium:    500;
  --fw-semibold:  600;
  --fw-bold:      700;
  --fw-extrabold: 800;

  /* Font Size Scale */
  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  1.875rem;
  --text-4xl:  2.25rem;
  --text-5xl:  3rem;
  --text-6xl:  3.75rem;
  --text-7xl:  4.5rem;

  /* Line Heights */
  --lh-tight:   1.2;
  --lh-snug:    1.35;
  --lh-normal:  1.5;
  --lh-relaxed: 1.65;
  --lh-loose:   1.8;

  /* Letter Spacing */
  --ls-tight:   -0.03em;
  --ls-snug:    -0.02em;
  --ls-normal:   0;
  --ls-wide:     0.04em;
  --ls-wider:    0.08em;
  --ls-widest:   0.12em;

  /* Spacing */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  /* Border Radius */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-2xl:  24px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-xs:  0 1px 2px rgba(0,0,0,0.05);
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md:  0 4px 12px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.04);
  --shadow-lg:  0 8px 24px rgba(0,0,0,0.10), 0 2px 6px rgba(0,0,0,0.04);
  --shadow-xl:  0 16px 48px rgba(0,0,0,0.12), 0 4px 12px rgba(0,0,0,0.06);
  --shadow-2xl: 0 24px 64px rgba(0,0,0,0.16), 0 8px 24px rgba(0,0,0,0.08);
  --shadow-inner: inset 0 1px 3px rgba(0,0,0,0.06);
  --shadow-primary-glow: 0 4px 24px rgba(30,68,150,0.30);
  --shadow-accent-glow:  0 4px 24px rgba(5,150,105,0.30);

  /* Transitions */
  --transition-fast:   150ms ease;
  --transition-base:   200ms ease;
  --transition-slow:   300ms ease-out;
  --transition-bounce: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Z-Index */
  --z-below:    -1;
  --z-base:      0;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-overlay:  300;
  --z-modal:    400;
  --z-toast:    500;

  /* ── shared.css ta-* vars ── */
  --ta-primary:       #1e4496;
  --ta-primary-dark:  #142d6b;
  --ta-primary-light: #eef2fb;
  --ta-accent:        #059669;
  --ta-accent-dark:   #047857;
  --ta-accent-light:  #ecfdf5;
  --ta-warning:       #d97706;
  --ta-error:         #dc2626;
  --ta-dark:          #0c1a3d;
  --ta-heading:       #0f172a;
  --ta-body:          #475569;
  --ta-muted:         #64748b;
  --ta-border:        #e2e8f0;
  --ta-surface:       #f8fafc;
  --font-head:        'Poppins', system-ui, sans-serif;
  --font-currency:    'Inter', 'Helvetica Neue', 'Segoe UI', system-ui, sans-serif;

  /* ── BACKWARD-COMPAT ALIASES (old pages use these) ── */
  --primary:   var(--ta-primary);
  --primary-d: var(--ta-primary-dark);
  --primary-l: var(--ta-primary-light);
  --dark:      #0F172A;
  --dark-2:    #1E293B;
  --dark-3:    #334155;
  --slate:     #64748B;
  --light:     #F1F5F9;
  --lighter:   #F8FAFC;
  --white:     #FFFFFF;
  --border:    #E2E8F0;
  --amber:     #F59E0B;
  --amber-l:   #FFFBEB;
  --green:     #10B981;
  --green-l:   #ECFDF5;
  --red:       #EF4444;
  --purple:    #7C3AED;
  --radius:    8px;
  --radius-lg-old: 12px;
  --radius-xl-old: 16px;
  --shadow:    0 4px 16px rgba(0,0,0,.10);
  --font:      'Poppins', 'Open Sans', sans-serif;
  --nav-h:     64px;
}

/* ======== BASE RESETS ======== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 15px; }
body { font-family: var(--font-body); color: var(--ta-body); background: #fff; line-height: var(--lh-relaxed); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color var(--transition-base); }
a:hover { color: var(--ta-primary); }
ul { list-style: none; padding: 0; margin: 0; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-head); color: var(--ta-heading); }

/* ======== SEMANTIC TYPE STYLES ======== */
.ta-h1 { font-family: var(--font-display); font-size: var(--text-6xl); font-weight: var(--fw-extrabold); line-height: var(--lh-tight); letter-spacing: var(--ls-tight); color: var(--fg-heading); }
.ta-h2 { font-family: var(--font-display); font-size: var(--text-4xl); font-weight: var(--fw-bold); line-height: var(--lh-snug); letter-spacing: var(--ls-snug); color: var(--fg-heading); }
.ta-h3 { font-family: var(--font-display); font-size: var(--text-2xl); font-weight: var(--fw-semibold); line-height: var(--lh-snug); color: var(--fg-heading); }
.ta-h4 { font-family: var(--font-display); font-size: var(--text-xl); font-weight: var(--fw-semibold); line-height: var(--lh-normal); color: var(--fg-heading); }
.ta-body-lg { font-family: var(--font-body); font-size: var(--text-lg); font-weight: var(--fw-regular); line-height: var(--lh-relaxed); color: var(--fg-body); }
.ta-body { font-family: var(--font-body); font-size: var(--text-base); font-weight: var(--fw-regular); line-height: var(--lh-relaxed); color: var(--fg-body); }
.ta-body-sm { font-family: var(--font-body); font-size: var(--text-sm); font-weight: var(--fw-regular); line-height: var(--lh-normal); color: var(--fg-muted); }
.ta-label { font-family: var(--font-body); font-size: var(--text-sm); font-weight: var(--fw-medium); line-height: var(--lh-normal); color: var(--fg-body); }
.ta-code { font-family: var(--font-mono); font-size: var(--text-sm); font-weight: var(--fw-regular); line-height: var(--lh-relaxed); }

/* ======== NAVBAR (shared.css) ======== */
.ta-navbar { background:#fff; border-bottom:1px solid transparent; padding:0; box-shadow:0 1px 2px rgba(15,23,42,0.04); position:sticky; top:0; z-index:1030; transition:box-shadow .25s ease, border-color .25s ease; }
.ta-navbar.scrolled { box-shadow:0 6px 24px -8px rgba(15,23,42,0.12); border-bottom-color:var(--ta-border); }
.ta-navbar .navbar-brand { display:flex; align-items:center; gap:10px; font-family:var(--font-head); font-weight:700; font-size:16px; color:var(--ta-heading); padding:10px 0; }
.ta-navbar .ta-logo-img { height:32px; width:auto; display:block; }
.ta-logo-mark { width:36px; height:36px; background:var(--ta-primary); border-radius:8px; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:14px; font-family:var(--font-head); flex-shrink:0; }
.ta-navbar .nav-link { font-family:var(--font-body); font-size:14px; font-weight:500; color:var(--ta-body) !important; padding:24px 15px !important; border:none; display:inline-flex; align-items:center; gap:5px; transition:color .15s; }
.ta-navbar .nav-link:hover, .ta-navbar .nav-link.active { color:var(--ta-primary) !important; }
.ta-navbar .nav-item.dropdown:hover > .nav-link { color:var(--ta-primary) !important; }
/* dropdown caret */
.ta-navbar .ta-dd-toggle .ta-caret { font-size:9px; opacity:.55; transition:transform .2s ease; }
.ta-navbar .nav-item.dropdown:hover .ta-caret { transform:rotate(180deg); }

/* ── Rich dropdown panels (Supademo-style) ── */
.ta-navbar .ta-rich-menu { border:1px solid var(--ta-border); border-radius:16px; box-shadow:0 20px 48px -16px rgba(15,23,42,0.22); padding:12px; margin-top:0; }
.ta-mm-grid { display:flex; gap:8px; }
.ta-mm-col { flex:1 1 0; min-width:220px; }
.ta-mm-head { font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--ta-muted); padding:9px 11px 4px; }
.ta-mm-item { display:flex; align-items:flex-start; gap:11px; padding:8px 11px; border-radius:11px; text-decoration:none; transition:background .14s ease; }
.ta-mm-item:hover { background:var(--ta-surface); }
.ta-mm-ico { width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0; transition:transform .15s ease; }
.ta-mm-item:hover .ta-mm-ico { transform:scale(1.06); }
.ta-mm-txt { display:flex; flex-direction:column; }
.ta-mm-tt { font-family:var(--font-head); font-size:13px; font-weight:600; color:var(--ta-heading); line-height:1.25; transition:color .14s ease; }
.ta-mm-item:hover .ta-mm-tt { color:var(--ta-primary); }
.ta-mm-ds { font-size:11px; color:var(--ta-muted); line-height:1.35; margin-top:1px; }

/* Featured / live-preview column */
.ta-mm-feature { flex:0 0 244px; align-self:stretch; display:flex; flex-direction:column; justify-content:flex-end; gap:6px; padding:20px; border-radius:13px; text-decoration:none; color:#fff !important; background:linear-gradient(155deg,var(--ta-primary) 0%,var(--ta-primary-dark) 100%); border:1px solid transparent; position:relative; overflow:hidden; transition:background .2s ease, border-color .2s ease; }
.ta-mm-feature::after { content:""; position:absolute; top:-40px; right:-40px; width:140px; height:140px; border-radius:50%; background:rgba(255,255,255,.08); }
.ta-mm-feature-eyebrow { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.7); position:relative; }
.ta-mm-feature-title { font-family:var(--font-head); font-size:16px; font-weight:700; line-height:1.25; position:relative; }
.ta-mm-feature-text { font-size:12px; line-height:1.5; color:rgba(255,255,255,.82); position:relative; }
.ta-mm-feature-cta { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; margin-top:6px; position:relative; }
.ta-mm-feature-cta i { transition:transform .18s ease; }
.ta-mm-feature:hover .ta-mm-feature-cta i { transform:translateX(4px); }

/* Preview media + icon fallback (hidden until a link is hovered) */
.ta-mm-pv-media { display:none; width:100%; aspect-ratio:16/10; border-radius:9px; overflow:hidden; border:1px solid var(--ta-border); background:var(--ta-surface); margin-bottom:auto; }
.ta-mm-pv-img { width:100%; height:100%; object-fit:cover; display:block; }
.ta-mm-pv-ico { display:none; width:46px; height:46px; border-radius:11px; align-items:center; justify-content:center; font-size:20px; margin-bottom:auto; }

/* Hover state: pane becomes a light card showing the hovered item's preview */
.ta-mm-feature.is-preview { background:#fff; border-color:var(--ta-border); color:var(--ta-heading) !important; justify-content:flex-start; }
.ta-mm-feature.is-preview::after { display:none; }
.ta-mm-feature.is-preview .ta-mm-feature-eyebrow { color:var(--ta-accent); }
.ta-mm-feature.is-preview .ta-mm-feature-title { color:var(--ta-heading); }
.ta-mm-feature.is-preview .ta-mm-feature-text { color:var(--ta-muted); }
.ta-mm-feature.is-preview .ta-mm-feature-cta { color:var(--ta-primary); }
.ta-mm-feature.is-preview.has-media .ta-mm-pv-media { display:block; }
.ta-mm-feature.is-preview.no-media .ta-mm-pv-ico { display:inline-flex; }

/* Buttons */
.btn-ta-login { font-size:14px; font-weight:500; color:var(--ta-body); background:none; border:none; padding:8px 14px; border-radius:9px; font-family:var(--font-body); cursor:pointer; transition:background 0.15s,color .15s; text-decoration:none; display:inline-block; }
.btn-ta-login:hover { background:var(--ta-surface); color:var(--ta-heading); }
.btn-ta-cta { font-size:14px; font-weight:600; color:#fff; background:var(--ta-primary); border:none; padding:9px 20px; border-radius:9px; font-family:var(--font-body); cursor:pointer; transition:background 0.15s,transform .15s,box-shadow .15s; white-space:nowrap; text-decoration:none; display:inline-flex; align-items:center; gap:6px; box-shadow:0 4px 12px -4px rgba(30,68,150,.5); }
.btn-ta-cta:hover { background:var(--ta-primary-dark); color:#fff; transform:translateY(-1px); box-shadow:0 8px 18px -6px rgba(30,68,150,.55); }

/* Desktop: hover-to-open with slide/fade animation */
@media(min-width:992px){
  .ta-mega-menu { min-width:760px; }
  .ta-rich-menu--sm { min-width:430px; }
  .ta-navbar .nav-item.dropdown > .dropdown-menu { display:block; opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .2s ease, transform .2s ease, visibility .2s ease; pointer-events:none; }
  .ta-navbar .nav-item.dropdown:hover > .dropdown-menu { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
  /* invisible bridge so the cursor can travel the gap without closing */
  .ta-navbar .nav-item.dropdown > .dropdown-menu::before { content:""; position:absolute; top:-14px; left:0; right:0; height:14px; }
  /* centre the wide panels under their toggle so they never overflow the viewport edge */
  .ta-navbar .nav-item.dropdown > .ta-rich-menu { left:50%; right:auto; transform:translateX(-50%) translateY(10px); }
  .ta-navbar .nav-item.dropdown:hover > .ta-rich-menu { transform:translateX(-50%) translateY(0); }
}

/* Mobile nav overrides */
@media(max-width:991px){
  .ta-navbar .nav-link { padding:11px 16px !important; border-left:3px solid transparent; }
  .ta-navbar .nav-link.active { border-left-color:var(--ta-primary); background:var(--ta-primary-light); color:var(--ta-primary) !important; }
  .ta-navbar .ta-dd-toggle .ta-caret { margin-left:auto; }
  .ta-navbar .dropdown-menu { display:none; border:none; background:var(--ta-surface); border-radius:0; padding:4px 0 8px 12px; box-shadow:none; min-width:auto; }
  .ta-navbar .dropdown-menu.show { display:block; }
  .ta-mm-grid { flex-direction:column; gap:0; }
  .ta-mm-col { min-width:auto; }
  .ta-mm-feature { flex:auto; margin-top:8px; padding:16px; }
}

/* ======== FOOTER (shared.css) ======== */
.ta-footer { background:#0f172a; color:#fff; padding:56px 0 28px; }
.ta-footer-logo { display:block; width:auto; height:auto; max-width:200px; max-height:34px; }
.ta-footer-brand { font-family:var(--font-head); font-weight:700; font-size:15px; color:#fff; }
.ta-footer-desc { font-size:13px; color:#b6bac1; line-height:1.7; max-width:90%; margin-bottom:16px; }
.ta-footer-badge { background:#1e293b; border:1px solid #334155; border-radius:8px; padding:7px 14px; font-size:11px; color:#94a3b8; font-weight:500; cursor:pointer; display:inline-block; margin-right:6px; margin-bottom:6px; }
.ta-footer-address { font-size:12px; color:#b6bac1; line-height:1.8; margin-top:14px; }
.ta-footer-col-title { font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#fff; margin-bottom:16px; font-family:var(--font-head); }
.ta-footer-link { font-size:13px; color:#b6bac1; display:block; margin-bottom:9px; cursor:pointer; transition:color 0.15s; text-decoration:none; }
.ta-footer-link:hover { color:#fff; }
/* tighter spacing when links are inside a 2-col grid */
[style*="grid-template-columns"] .ta-footer-link { margin-bottom:7px; font-size:12.5px; }
.ta-footer-bottom { border-top:1px solid #1e293b; padding-top:22px; margin-top:44px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.ta-footer-copyright { font-size:12px; color:#b6bac1; margin:0; }
.ta-footer-legal a { font-size:12px; color:#b6bac1; margin-left:16px; }
.ta-footer-legal a:hover { color:#94a3b8; }
.ta-footer-social { width:32px; height:32px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); border-radius:6px; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.6); font-size:13px; transition:.2s; text-decoration:none; }
.ta-footer-social:hover { background:rgba(255,255,255,.15); color:#fff; }

/* ======== SECTIONS & LAYOUT (shared.css) ======== */
.ta-section { padding:72px 0; }
.ta-section-alt { padding:72px 0; background:var(--ta-surface); }
.ta-section-dark { padding:72px 0; background:var(--ta-dark); }
.ta-section-dark .icon { color: #fff; }
.ta-section-heading { text-align:center; margin-bottom:48px; }
.ta-section-heading h2 { font-family:var(--font-head); font-size:clamp(26px,4vw,36px); font-weight:700; color:var(--ta-heading); letter-spacing:-0.02em; margin-bottom:8px; }
.ta-section-heading p { font-size:15px; color:var(--ta-muted); max-width:520px; margin:0 auto; }
.ta-page-hero { background:linear-gradient(135deg,#0c1a3d 0%,#1e4496 65%,#142d6b 100%); padding:56px 0 44px; position:relative; overflow:hidden; }
.ta-page-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 15% 50%,rgba(5,150,105,0.1) 0%,transparent 55%); pointer-events:none; }
.ta-cta-banner { background:linear-gradient(135deg,#0c1a3d,#1e4496); border-radius:16px; padding:44px 48px; }
@media(max-width:768px){ .ta-cta-banner { padding:28px 24px; text-align:center; } }

/* ======== EYEBROW ======== */
.ta-eyebrow { font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--ta-accent); display:block; font-family:var(--font-body); }

/* ======== CARDS (shared.css) ======== */
.ta-card { background:#fff; border:1px solid var(--ta-border); border-radius:16px; padding:28px; box-shadow:0 1px 4px rgba(0,0,0,0.05); transition:box-shadow 0.2s,transform 0.2s; }
.ta-card:hover { box-shadow:0 8px 24px rgba(0,0,0,0.10); transform:translateY(-2px); }
.ta-card-sm { background:#fff; border:1px solid var(--ta-border); border-radius:12px; padding:20px; box-shadow:0 1px 3px rgba(0,0,0,0.05); }
.ta-icon-box { width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:14px; flex-shrink:0; }

/* ======== BUTTONS (shared.css) ======== */
.btn-ta-primary { background:var(--ta-primary); color:#fff; border:none; border-radius:8px; padding:12px 24px; font-size:14px; font-weight:600; font-family:var(--font-body); cursor:pointer; transition:all 0.2s; display:inline-flex; align-items:center; gap:6px; text-decoration:none; }
.btn-ta-primary:hover { background:var(--ta-primary-dark); transform:translateY(-1px); color:#fff; }
.btn-ta-accent { background:var(--ta-accent); color:#fff; border:none; border-radius:8px; padding:12px 24px; font-size:14px; font-weight:600; font-family:var(--font-body); cursor:pointer; transition:all 0.2s; display:inline-flex; align-items:center; gap:6px; text-decoration:none; }
.btn-ta-accent:hover { background:var(--ta-accent-dark); color:#fff; }
.btn-ta-outline { background:transparent; color:var(--ta-primary); border:1.5px solid var(--ta-primary); border-radius:8px; padding:11px 22px; font-size:14px; font-weight:600; font-family:var(--font-body); cursor:pointer; transition:all 0.2s; display:inline-flex; align-items:center; gap:6px; text-decoration:none; }
.btn-ta-outline:hover { background:var(--ta-primary-light); color:var(--ta-primary); }
.btn-ta-ghost { background:rgba(255,255,255,0.1); color:#fff; border:1px solid rgba(255,255,255,0.25); border-radius:8px; padding:12px 24px; font-size:14px; font-weight:600; font-family:var(--font-body); cursor:pointer; transition:all 0.2s; display:inline-flex; align-items:center; gap:6px; }
.btn-ta-ghost:hover { background:rgba(255,255,255,0.18); color:#fff; }

/* ======== FEATURE ROWS — Product Shot Showcase ======== */
.ta-feature-img {
  position:relative; border-radius:18px; min-height:240px;
  display:block; overflow:hidden; cursor:zoom-in;
  background:transparent !important; border:none !important; padding:0 !important;
  box-shadow:0 24px 60px rgba(15,32,90,.18);
  transition:box-shadow .35s ease, transform .35s ease;
}
.ta-feature-img img {
  width:100% !important; max-height:none !important; height:auto !important;
  object-fit:cover !important; border-radius:0 !important;
  filter:none;
  display:block;
  transform-origin:50% 50%;
  animation:taKenBurns 22s ease-in-out infinite;
  will-change:transform;
}
/* Ken Burns — slow continuous pan + zoom to feel alive */
@keyframes taKenBurns {
  0%   { transform:scale(1.04) translate(0%, 0%); }
  20%  { transform:scale(1.08) translate(-1.5%, -1%); }
  40%  { transform:scale(1.05) translate(1%, 1.2%); }
  60%  { transform:scale(1.09) translate(1.5%, -1.5%); }
  80%  { transform:scale(1.06) translate(-1%, 1%); }
  100% { transform:scale(1.04) translate(0%, 0%); }
}
/* On hover: stop Ken Burns, snap to pointer-driven magnification */
.ta-feature-img:hover { box-shadow:0 34px 80px rgba(15,32,90,.32); transform:translateY(-3px); }
.ta-feature-img:hover img {
  animation:none;
  transform:scale(1.7);
  transform-origin:var(--mx, 50%) var(--my, 50%);
  transition:transform .18s ease-out;
}
/* "Click to enlarge" hint */
.ta-feature-img::after {
  content:'⊕  Click to enlarge';
  position:absolute; bottom:14px; right:14px;
  background:rgba(8,16,38,.85); color:#fff;
  padding:7px 13px; font-size:12px; font-weight:600; letter-spacing:.02em;
  border-radius:8px; pointer-events:none;
  opacity:0; transform:translateY(6px);
  transition:opacity .25s ease, transform .25s ease;
  backdrop-filter:blur(6px);
}
.ta-feature-img:hover::after { opacity:1; transform:translateY(0); }
/* Live pulse dot in top-left to suggest "real product" */
.ta-feature-img::before {
  content:''; position:absolute; top:14px; left:14px;
  width:10px; height:10px; border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 0 rgba(34,197,94,.6);
  animation:taLivePulse 2.4s ease-out infinite;
  z-index:3; pointer-events:none;
}
@keyframes taLivePulse {
  0%   { box-shadow:0 0 0 0 rgba(34,197,94,.6); }
  70%  { box-shadow:0 0 0 14px rgba(34,197,94,0); }
  100% { box-shadow:0 0 0 0 rgba(34,197,94,0); }
}
.ta-section-dark .ta-feature-img { box-shadow:0 30px 80px rgba(0,0,0,.5); }

/* ======== HERO PRODUCT SHOT ======== */
.ta-hero-shot { position:relative; cursor:zoom-in; border-radius:14px; overflow:hidden; box-shadow:0 30px 70px rgba(0,0,0,.45); }
.ta-hero-shot img { width:100%; height:auto; display:block; border-radius:0; animation:taHeroBreathe 7s ease-in-out infinite; transform-origin:50% 50%; }
@keyframes taHeroBreathe {
  0%,100% { transform:scale(1) translateY(0); }
  50%     { transform:scale(1.025) translateY(-6px); }
}
.ta-hero-shot:hover img { animation:none; transform:scale(1.4); transform-origin:var(--mx,50%) var(--my,50%); transition:transform .2s ease-out; }
.ta-hero-shot::after {
  content:'⊕  Open dashboard';
  position:absolute; bottom:14px; right:14px;
  background:rgba(8,16,38,.85); color:#fff;
  padding:7px 13px; font-size:12px; font-weight:600;
  border-radius:8px; pointer-events:none;
  opacity:0; transition:opacity .25s ease;
  backdrop-filter:blur(6px);
}
.ta-hero-shot:hover::after { opacity:1; }

/* ======== LIGHTBOX ======== */
.ta-lightbox { position:fixed; inset:0; background:rgba(6,10,28,.94); z-index:99999; display:none; align-items:center; justify-content:center; padding:40px 24px; cursor:zoom-out; animation:taLbFade .25s ease-out; }
.ta-lightbox.open { display:flex; }
.ta-lightbox img { max-width:95vw; max-height:90vh; width:auto; height:auto; border-radius:12px; box-shadow:0 40px 120px rgba(0,0,0,.6); animation:taLbScale .35s cubic-bezier(.2,.7,.2,1); }
.ta-lightbox-close { position:absolute; top:24px; right:32px; background:rgba(255,255,255,.12); color:white; border:none; width:48px; height:48px; border-radius:50%; font-size:24px; cursor:pointer; transition:background .2s ease, transform .2s ease; display:flex; align-items:center; justify-content:center; line-height:1; }
.ta-lightbox-close:hover { background:rgba(255,255,255,.25); transform:rotate(90deg); }
.ta-lightbox-caption { position:absolute; bottom:28px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.85); font-size:13px; font-weight:500; letter-spacing:.02em; }
@keyframes taLbFade  { from { opacity:0; } to { opacity:1; } }
@keyframes taLbScale { from { transform:scale(.92); opacity:0; } to { transform:scale(1); opacity:1; } }

/* Reduce motion respect */
@media (prefers-reduced-motion: reduce) {
  .ta-feature-img img, .ta-hero-shot img { animation:none !important; }
}
.ta-feat-check { width:20px; height:20px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:17px; font-weight:700; flex-shrink:0; }
.ta-feat-list { list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ta-feat-list li { display:flex; align-items:center; gap:9px; font-size:14px; color:#334155; }
@media(max-width:576px){ .ta-feat-list { grid-template-columns:1fr; } }

/* ======== BADGES (shared.css) ======== */
.ta-badge { display:inline-block; padding:3px 10px; border-radius:6px; font-size:11px; font-weight:600; font-family:var(--font-body); }
.ta-badge-primary { background:var(--ta-primary-light); color:var(--ta-primary); }
.ta-badge-accent { background:var(--ta-accent-light); color:var(--ta-accent-dark); }
.ta-badge-warning { background:#fef3c7; color:#b45309; }
.ta-badge-neutral { background:var(--ta-surface); color:var(--ta-muted); border:1px solid var(--ta-border); }

/* ======== STEPS (shared.css) ======== */
.ta-step-num { width:40px; height:40px; border-radius:50%; background:var(--ta-primary); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--font-head); font-weight:700; font-size:16px; margin:0 auto 16px; }
.ta-step-line { height:2px; background:var(--ta-border); flex:1; margin-top:20px; }

/* ======== TESTIMONIALS (shared.css) ======== */
.ta-testimonial { background:#fff; border:1px solid var(--ta-border); border-radius:16px; padding:28px; box-shadow:0 1px 4px rgba(0,0,0,0.05); height:100%; }
.ta-testimonial-stars { color:#f59e0b; font-size:14px; margin-bottom:12px; }
.ta-testimonial-text { font-size:14px; color:var(--ta-body); line-height:1.7; margin-bottom:16px; }
.ta-testimonial-avatar { width:40px; height:40px; border-radius:50%; background:var(--ta-primary-light); display:flex; align-items:center; justify-content:center; font-family:var(--font-head); font-weight:700; font-size:14px; color:var(--ta-primary); }
.ta-testimonial-name { font-weight:600; font-size:13px; color:var(--ta-heading); font-family:var(--font-head); }
.ta-testimonial-role { font-size:12px; color:var(--ta-muted); }

/* ======== STATS BAR (shared.css + index.html) ======== */
.ta-stat-item { text-align:center; padding:24px 0; }
.ta-stat-number { font-family:var(--font-head); font-size:clamp(28px,4vw,40px); font-weight:800; color:var(--ta-primary); line-height:1; margin-bottom:4px; }
.ta-stat-label { font-size:13px; color:var(--ta-muted); }
.ta-stats-bar { background:#fff; border-bottom:1px solid var(--ta-border); }
.ta-stats-bar .num { font-family:var(--font-head); font-size:32px; font-weight:800; color:var(--ta-primary); line-height:1; }
.ta-stats-bar .lbl { font-size:13px; color:var(--ta-muted); margin-top:4px; }
@media(max-width:576px){ .ta-stats-bar .num { font-size:22px; } }

/* ======== TABS (shared.css) ======== */
.ta-tabs { display:flex; gap:4px; background:var(--ta-surface); border-radius:12px; padding:4px; margin-bottom:32px; overflow-x:auto; }
.ta-tab { padding:9px 18px; border-radius:9px; font-size:13px; font-weight:600; color:var(--ta-muted); cursor:pointer; transition:all 0.2s; white-space:nowrap; border:none; background:none; font-family:var(--font-body); }
.ta-tab.active { background:#fff; color:var(--ta-primary); box-shadow:0 1px 4px rgba(0,0,0,0.08); }
.ta-tab-content { display:none; }
.ta-tab-content.active { display:block; }

/* ======== ACCORDION (shared.css) ======== */
.ta-accordion-item { border:1px solid var(--ta-border); border-radius:10px; margin-bottom:8px; overflow:hidden; }
.ta-accordion-header { padding:16px 20px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-weight:600; font-size:14px; color:var(--ta-heading); font-family:var(--font-head); transition:background 0.15s; }
.ta-accordion-header:hover { background:var(--ta-surface); }
.ta-accordion-header.open { background:var(--ta-primary-light); color:var(--ta-primary); }
.ta-accordion-body { display:none; padding:0 20px 16px; font-size:14px; color:var(--ta-body); line-height:1.7; }
.ta-accordion-body.open { display:block; }
.ta-accordion-arrow { font-size:12px; transition:transform 0.2s; }
.ta-accordion-arrow.open { transform:rotate(180deg); }

/* ======== BLOG (shared.css) ======== */
.ta-blog-card { background:#fff; border:1px solid var(--ta-border); border-radius:16px; overflow:hidden; box-shadow:0 1px 4px rgba(0,0,0,0.05); transition:all 0.2s; height:100%; display:flex; flex-direction:column; }
.ta-blog-card:hover { box-shadow:0 8px 24px rgba(0,0,0,0.10); transform:translateY(-2px); }
.ta-blog-thumb { height:180px; display:flex; align-items:center; justify-content:center; font-size:36px; }
.ta-blog-body { padding:20px; flex:1; display:flex; flex-direction:column; }
.ta-blog-cat { font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:8px; }
.ta-blog-title { font-family:var(--font-head); font-weight:700; font-size:15px; color:var(--ta-heading); line-height:1.4; margin-bottom:8px; }
.ta-blog-excerpt { font-size:13px; color:var(--ta-muted); line-height:1.6; flex:1; }
.ta-blog-meta { display:flex; align-items:center; gap:12px; margin-top:14px; font-size:11px; color:var(--ta-muted); }

/* ======== DOCS (shared.css) ======== */
.ta-docs-sidebar { width:260px; flex-shrink:0; }
.ta-docs-nav-group { margin-bottom:24px; }
.ta-docs-nav-title { font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--ta-muted); margin-bottom:8px; padding:0 12px; font-family:var(--font-body); }
.ta-docs-nav-link { display:block; padding:7px 12px; border-radius:8px; font-size:13px; color:var(--ta-body); cursor:pointer; transition:all 0.15s; font-family:var(--font-body); }
.ta-docs-nav-link:hover { background:var(--ta-surface); color:var(--ta-heading); }
.ta-docs-nav-link.active { background:var(--ta-primary-light); color:var(--ta-primary); font-weight:600; }
.ta-docs-content { flex:1; min-width:0; }
.ta-docs-content h1 { font-size:28px; font-weight:700; margin-bottom:8px; scroll-margin-top:80px; }
.ta-docs-content h2 { font-size:20px; font-weight:700; margin-top:40px; margin-bottom:12px; padding-bottom:8px; border-bottom:1px solid var(--ta-border); scroll-margin-top:80px; }
.ta-docs-content h3 { font-size:16px; font-weight:600; margin-top:24px; margin-bottom:8px; scroll-margin-top:80px; }
.ta-docs-content h4 { font-size:14px; font-weight:600; margin-top:18px; margin-bottom:6px; color:var(--ta-body); scroll-margin-top:80px; }
.ta-docs-content p { font-size:15px; line-height:1.75; margin-bottom:16px; color:var(--ta-body); }
.ta-docs-content ul { padding-left:20px; margin-bottom:16px; }
.ta-docs-content ul li { font-size:15px; line-height:1.75; color:var(--ta-body); margin-bottom:4px; }
.ta-docs-content code { background:var(--ta-surface); border:1px solid var(--ta-border); border-radius:4px; padding:2px 6px; font-size:13px; font-family:'JetBrains Mono',monospace; color:var(--ta-primary); }
.ta-docs-content pre { background:var(--ta-heading); border-radius:10px; padding:20px; overflow-x:auto; margin-bottom:16px; }
.ta-docs-content pre code { background:none; border:none; color:#e2e8f0; font-size:13px; }
/* neutralize editor-authored Bootstrap CSS vars so inline styles render on-theme */
.ta-docs-content { --bs-card-bg:transparent; --bs-body-color:var(--ta-body); --bs-body-font-weight:400; --bs-body-text-align:left; --bs-body-font-size:15px; }
.ta-docs-content h5 { font-size:18px; font-weight:700; font-family:var(--font-head); color:var(--ta-heading); margin-top:38px; margin-bottom:12px; padding-left:14px; border-left:4px solid var(--ta-primary); scroll-margin-top:90px; line-height:1.35; }
.ta-docs-content h6 { font-size:15px; font-weight:700; font-family:var(--font-head); color:var(--ta-heading); margin-top:24px; margin-bottom:8px; scroll-margin-top:90px; }
/* blank/spacer headings: drop the heading styling, behave like an empty line */
.ta-docs-content h2.ta-docs-blank, .ta-docs-content h3.ta-docs-blank, .ta-docs-content h4.ta-docs-blank, .ta-docs-content h5.ta-docs-blank, .ta-docs-content h6.ta-docs-blank { margin:0; padding:0; border:none; }
.ta-docs-content a { color:var(--ta-primary); text-decoration:none; border-bottom:1px solid transparent; transition:border-color .15s; font-weight:600; }
.ta-docs-content a:hover { border-bottom-color:var(--ta-primary); }
.ta-docs-content strong, .ta-docs-content b { color:var(--ta-heading); font-weight:700; }
.ta-docs-content font { font-family:var(--font-body) !important; }
.ta-docs-content ol { padding-left:20px; margin-bottom:16px; }
.ta-docs-content ol li { font-size:15px; line-height:1.75; color:var(--ta-body); margin-bottom:4px; }
.ta-docs-content ul li::marker { color:var(--ta-primary); }
.ta-docs-content ol li::marker { color:var(--ta-primary); font-weight:700; }
.ta-docs-content img { max-width:100%; height:auto; border:1px solid var(--ta-border); border-radius:12px; box-shadow:0 4px 20px rgba(15,23,42,.08); margin:22px 0; display:block; }
.ta-docs-content blockquote { margin:20px 0; padding:14px 20px; background:var(--ta-primary-light); border-left:4px solid var(--ta-primary); border-radius:0 10px 10px 0; color:var(--ta-heading); font-style:italic; }
.ta-docs-content blockquote p:last-child { margin-bottom:0; }
.ta-docs-content hr { border:none; border-top:1px solid var(--ta-border); margin:32px 0; }
.ta-docs-content table { width:100%; border-collapse:separate; border-spacing:0; margin:22px 0; font-size:14px; border:1px solid var(--ta-border); border-radius:12px; overflow:hidden; }
.ta-docs-content table th { background:var(--ta-surface); color:var(--ta-heading); font-weight:700; text-align:left; padding:12px 16px; border-bottom:1px solid var(--ta-border); }
.ta-docs-content table td { padding:11px 16px; border-bottom:1px solid var(--ta-border); color:var(--ta-body); }
.ta-docs-content table tr:last-child td { border-bottom:none; }
.ta-docs-content table tr:hover td { background:var(--ta-surface); }
.ta-docs-callout { border-radius:10px; padding:16px 20px; margin-bottom:16px; display:flex; gap:12px; align-items:flex-start; }
.ta-docs-callout-info { background:#e0f2fe; border-left:4px solid #0284c7; }
.ta-docs-callout-tip { background:var(--ta-accent-light); border-left:4px solid var(--ta-accent); }
.ta-docs-callout-warning { background:#fef3c7; border-left:4px solid var(--ta-warning); }
.ta-docs-toc { position:sticky; top:80px; padding-left:24px; }
.ta-docs-toc-title { font-size:11px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--ta-muted); margin-bottom:10px; }
.ta-docs-toc-link { display:block; font-size:12px; color:var(--ta-muted); padding:4px 0; cursor:pointer; transition:color 0.15s; border-left:2px solid var(--ta-border); padding-left:12px; margin-bottom:2px; }
.ta-docs-toc-link:hover, .ta-docs-toc-link.active { color:var(--ta-primary); border-left-color:var(--ta-primary); }

/* ======== MODULE PAGES (shared.css) ======== */
.ta-module-feature-card { background:#fff; border:1px solid var(--ta-border); border-radius:12px; padding:24px; height:100%; transition:all 0.2s; }
.ta-module-feature-card:hover { box-shadow:0 6px 20px rgba(0,0,0,0.08); transform:translateY(-2px); }
.ta-module-feature-icon { font-size:28px; margin-bottom:12px; }
.ta-module-feature-title { font-family:var(--font-head); font-weight:600; font-size:15px; color:var(--ta-heading); margin-bottom:6px; }
.ta-module-feature-desc { font-size:13px; color:var(--ta-muted); line-height:1.65; }
.ta-process-step { text-align:center; padding:24px; position:relative; }
.ta-process-num { width:44px; height:44px; border-radius:50%; background:var(--ta-primary); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--font-head); font-weight:700; font-size:16px; margin:0 auto 14px; }
.ta-process-title { font-family:var(--font-head); font-weight:600; font-size:15px; color:var(--ta-heading); margin-bottom:6px; }
.ta-process-desc { font-size:13px; color:var(--ta-muted); line-height:1.6; }

/* ======== PRICING (shared.css + index.html) ======== */
.ta-pricing-card { background:#fff; border:1px solid var(--ta-border); border-radius:16px; padding:28px; box-shadow:0 1px 4px rgba(0,0,0,0.06); display:flex; flex-direction:column; height:100%; transition:box-shadow 0.2s; }
.ta-pricing-card:hover { box-shadow:0 8px 24px rgba(0,0,0,0.10); }
.ta-pricing-card.featured { border:2px solid var(--ta-primary); box-shadow:0 4px 24px rgba(30,68,150,0.18); }
.ta-pricing-feat { display:flex; align-items:center; gap:9px; font-size:13px; color:#334155; margin-bottom:9px; }
.ta-pricing-check { width:18px; height:18px; border-radius:50%; background:var(--ta-accent-light); color:var(--ta-accent); display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:700; flex-shrink:0; }
.popular-badge { background:var(--ta-primary); color:#fff; font-size:11px; font-weight:700; padding:4px 14px; border-radius:9999px; display:block; text-align:center; width:fit-content; margin:0 auto 16px; }
.discount-badge { background:#fef3c7; color:#b45309; font-size:10px; font-weight:700; padding:2px 9px; border-radius:6px; }
.ta-plan-name { font-family:var(--font-head); font-weight:700; font-size:18px; color:var(--ta-heading); margin-bottom:4px; }
.ta-plan-desc { font-size:12px; color:var(--ta-muted); margin-bottom:14px; line-height:1.5; }
.ta-price-row { display:flex; align-items:baseline; gap:4px; margin-bottom:4px; font-family:var(--font-currency); font-feature-settings:'tnum' 1; font-variant-numeric:tabular-nums; }
.ta-old-price { font-size:14px; color:#94a3b8; text-decoration:line-through; font-family:var(--font-currency); font-variant-numeric:tabular-nums; }
.ta-price { font-family:var(--font-currency); font-size:34px; font-weight:800; color:var(--ta-heading); font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.ta-price-unit { font-size:11px; color:var(--ta-muted); font-family:var(--font-currency); }

/* ===========================================================================
   GLOBAL CURRENCY FONT — wherever a price / amount / fee is shown on the
   marketing site, render it in Inter with tabular numerals so the ₹ / $ / €
   symbols look crisp and aligned. Covers existing classes in pricing-plan.php
   (ta-price*), resellers.php (rsl-rate-*), legacy pages (.price1), and any
   future class containing "price", "rate-num", "rate-sym", "rate-old", or
   the utility class .ta-currency / .currency / [data-currency].
   =========================================================================== */
.ta-currency, .currency, [data-currency],
[class*="-price"], [class*="_price"], [class$="price"],
[class*="rate-num"], [class*="rate-sym"], [class*="rate-old"],
[class*="rate-unit"], [class*="-cost"],
.ta-price, .ta-old-price, .ta-price-row, .ta-price-unit,
.kv-price, .plan-price, .hero-price, .price1, .price,
.rsl-rate-price, .rsl-rate-num, .rsl-rate-sym, .rsl-rate-old, .rsl-rate-unit,
.rsl-stat-num, .rsl-hero-card-stat-val, .rsl-calc-out-val, .rsl-calc-num {
  font-family:var(--font-currency) !important;
  font-feature-settings:'tnum' 1, 'ss01' 1 !important;
  font-variant-numeric:tabular-nums !important;
  letter-spacing:-.015em;
}
/* Make sure Font Awesome icons (.fas/.far/.fal) keep their icon font */
.fas, .far, .fal, .fa-solid, .fa-regular, .fa-light {
  font-family:"Font Awesome 6 Free","Font Awesome 5 Free","FontAwesome" !important;
  letter-spacing:normal !important;
}
/* Brand icons (.fab/.fa-brands) live in a separate Brands font */
.fab, .fa-brands {
  font-family:"Font Awesome 6 Brands","Font Awesome 5 Brands" !important;
  letter-spacing:normal !important;
}
.btn-plan-primary { width:100%; padding:11px; border-radius:8px; font-size:14px; font-weight:600; font-family:var(--font-body); cursor:pointer; background:var(--ta-primary); color:#fff; border:none; margin-top:auto; }
.btn-plan-outline { width:100%; padding:11px; border-radius:8px; font-size:14px; font-weight:600; font-family:var(--font-body); cursor:pointer; background:transparent; color:var(--ta-primary); border:1.5px solid var(--ta-primary); margin-top:auto; }
.ta-compare-table { width:100%; border-collapse:separate; border-spacing:0; }
.ta-compare-table th { background:var(--ta-surface); padding:14px 16px; font-size:13px; font-weight:600; color:var(--ta-heading); font-family:var(--font-head); text-align:center; }
.ta-compare-table th:first-child { text-align:left; }
.ta-compare-table td { padding:12px 16px; border-bottom:1px solid var(--ta-border); font-size:13px; color:var(--ta-body); text-align:center; }
.ta-compare-table td:first-child { text-align:left; font-weight:500; color:var(--ta-heading); }
.check-y { color:var(--ta-accent); font-weight:700; }
.check-n { color:var(--ta-border); }

/* ======== SEARCH BAR (shared.css) ======== */
.ta-search { display:flex; align-items:center; background:#fff; border:1.5px solid var(--ta-border); border-radius:10px; padding:0 16px; gap:10px; transition:border-color 0.2s; }
.ta-search:focus-within { border-color:var(--ta-primary); }
.ta-search input { border:none; outline:none; font-size:14px; font-family:var(--font-body); color:var(--ta-heading); background:transparent; padding:12px 0; flex:1; }
.ta-search-icon { color:var(--ta-muted); font-size:16px; }

/* ======== HERO (index.html inline styles extracted) ======== */
.ta-hero { background:linear-gradient(135deg,#0c1a3d 0%,#1e4496 65%,#142d6b 100%); position:relative; overflow:hidden; padding:80px 0 64px; }
.ta-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 15% 50%,rgba(5,150,105,.12) 0,transparent 55%),radial-gradient(circle at 85% 20%,rgba(30,68,150,.25) 0,transparent 55%); pointer-events:none; }
.ta-hero-badge { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:9999px; padding:5px 16px; font-size:12px; color:rgba(255,255,255,.85); margin-bottom:20px; }
.ta-hero h1 { font-family:var(--font-head); font-size:clamp(32px,5vw,56px); font-weight:800; color:#fff; line-height:1.1; letter-spacing:-.03em; margin-bottom:14px; }
.ta-hero h1 span { color:#34d399; }
.ta-hero-desc { font-size:16px; color:rgba(255,255,255,.72); margin-bottom:20px; line-height:1.7; }
.ta-pill-group { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.ta-pill { padding:6px 15px; border-radius:9999px; border:1px solid rgba(255,255,255,.2); font-size:12px; color:rgba(255,255,255,.65); cursor:pointer; transition:all .2s; background:rgba(255,255,255,.05); user-select:none; }
.ta-pill.active { background:var(--ta-accent); border-color:var(--ta-accent); color:#fff; font-weight:600; }
.ta-trust span { font-size:12px; color:rgba(255,255,255,.58); margin-right:20px; }

/* Dashboard card */
.ta-dash-card { background:#fff; border-radius:16px; padding:22px; box-shadow:0 24px 64px rgba(0,0,0,.28); }
.ta-stat-mini { background:var(--ta-surface); border-radius:10px; padding:14px; }
.ta-stat-mini .lbl { font-size:10px; color:var(--ta-muted); margin-bottom:4px; }
.ta-stat-mini .val { font-family:var(--font-head); font-size:18px; font-weight:700; color:var(--ta-heading); }
.ta-stat-mini .chg { font-size:11px; font-weight:600; margin-top:2px; }
.ta-txn { display:flex; justify-content:space-between; align-items:center; padding:9px 0; border-bottom:1px solid #f1f5f9; font-size:12px; }
.ta-txn:last-child { border-bottom:none; }

/* Countries strip */
.ta-country-strip { display:flex; flex-wrap:wrap; gap:8px; }
.ta-country-chip { padding:4px 12px; border-radius:9999px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); font-size:11px; color:rgba(255,255,255,.75); }

/* Client logos */
.ta-logo-strip { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:center; }
.ta-client-logo { height:44px; padding:8px 20px; background:var(--ta-surface); border:1px solid var(--ta-border); border-radius:8px; display:flex; align-items:center; font-family:var(--font-head); font-weight:700; font-size:12px; color:var(--ta-muted); }

/* Image placeholder */
.ta-img-ph { border-radius:16px; min-height:260px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; border:1.5px dashed rgba(0,0,0,.12); position:relative; overflow:hidden; }
.ta-img-ph-label { font-size:12px; color:var(--ta-muted); font-family:var(--font-head); font-weight:600; }
.ta-img-ph-sub { font-size:11px; color:var(--ta-muted); opacity:.7; }
.ta-img-ph-icon { font-size:40px; opacity:.4; }

/* Flow arrows */
.ta-flow { display:flex; flex-wrap:wrap; align-items:center; gap:0; margin:24px 0; }
.ta-flow-step { display:flex; flex-direction:column; align-items:center; text-align:center; padding:10px 14px; background:#fff; border:1.5px solid var(--ta-border); border-radius:10px; min-width:90px; cursor:pointer; transition:all .2s; }
.ta-flow-step:hover { border-color:var(--ta-primary); background:var(--ta-primary-light); }
.ta-flow-step .icon { font-size:20px; margin-bottom:4px; }
.ta-flow-step .name { font-size:11px; font-weight:600; color:var(--ta-heading); font-family:var(--font-head); line-height:1.2; }
.ta-flow-arrow { font-size:16px; color:var(--ta-muted); padding:0 4px; flex-shrink:0; }

/* Module grid */
.ta-module-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:32px; }
.ta-module-btn { background:#fff; border:1.5px solid var(--ta-border); border-radius:12px; padding:16px 10px; text-align:center; cursor:pointer; transition:all .2s; }
.ta-module-btn:hover { border-color:var(--ta-primary); background:var(--ta-primary-light); }
.ta-module-btn.active { border-color:var(--ta-primary); background:var(--ta-primary); color:#fff; }
.ta-module-btn .icon { font-size:22px; margin-bottom:6px; display:block; }
.ta-module-btn .name { font-size:12px; font-weight:600; font-family:var(--font-head); line-height:1.3; }

/* Why cards */
.ta-why-card { background:#fff; border-radius:12px; padding:24px; border:1px solid var(--ta-border); box-shadow:0 1px 3px rgba(0,0,0,.05); height:100%; }
.ta-why-dot { width:8px; height:8px; border-radius:50%; background:var(--ta-accent); margin-bottom:12px; }
.ta-why-title { font-family:var(--font-head); font-weight:600; font-size:15px; color:var(--ta-heading); margin-bottom:6px; }
.ta-why-desc { font-size:13px; color:var(--ta-muted); line-height:1.65; }

/* About stats */
.ta-about-stat { background:#fff; border-radius:12px; padding:18px; border:1px solid var(--ta-border); text-align:center; }
.ta-about-stat-val { font-family:var(--font-head); font-size:26px; font-weight:800; color:var(--ta-primary); }
.ta-about-stat-lbl { font-size:11px; color:var(--ta-muted); margin-top:2px; }
.ta-value-card { background:var(--ta-surface); border-radius:12px; padding:20px; border:1px solid var(--ta-border); }
.ta-value-title { font-family:var(--font-head); font-weight:600; font-size:14px; color:var(--ta-heading); margin-bottom:6px; }
.ta-value-desc { font-size:13px; color:var(--ta-muted); line-height:1.6; }

/* Timeline */
.ta-timeline { position:relative; padding-left:24px; }
.ta-timeline::before { content:''; position:absolute; left:7px; top:0; bottom:0; width:2px; background:var(--ta-border); }
.ta-timeline-item { position:relative; padding-bottom:28px; }
.ta-timeline-dot { position:absolute; left:-20px; top:4px; width:14px; height:14px; border-radius:50%; background:var(--ta-primary); border:2px solid #fff; box-shadow:0 0 0 2px var(--ta-primary); }
.ta-timeline-year { font-size:11px; font-weight:700; color:var(--ta-accent); letter-spacing:.06em; margin-bottom:4px; }
.ta-timeline-title { font-family:var(--font-head); font-weight:600; font-size:14px; color:var(--ta-heading); margin-bottom:4px; }
.ta-timeline-desc { font-size:13px; color:var(--ta-muted); line-height:1.6; }

/* Sub-features */
.ta-sub-feat { background:var(--ta-surface); border:1px solid var(--ta-border); border-radius:10px; padding:14px 16px; display:flex; align-items:flex-start; gap:10px; }
.ta-sub-feat-icon { font-size:18px; flex-shrink:0; margin-top:2px; }
.ta-sub-feat-title { font-family:var(--font-head); font-weight:600; font-size:13px; color:var(--ta-heading); margin-bottom:2px; }
.ta-sub-feat-desc { font-size:12px; color:var(--ta-muted); line-height:1.55; }

/* ======== COUNTRIES SECTION ======== */
.countries-section { padding:56px 0; background:var(--ta-dark); }
.countries-section .section-header { text-align:center; margin-bottom:32px; }
.countries-section .section-header h2 { color:#fff; font-size:clamp(22px,3vw,30px); font-weight:700; margin-bottom:8px; }
.countries-section .section-header p { color:rgba(255,255,255,.6); font-size:14px; max-width:520px; margin:0 auto; }
.countries-grid { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.country-chip { padding:7px 16px; border-radius:9999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); font-size:13px; color:rgba(255,255,255,.8); display:flex; align-items:center; gap:7px; transition:all .2s; }
.country-chip:hover { background:rgba(255,255,255,.14); color:#fff; }
.country-flag { font-size:16px; line-height:1; }
.country-flag img.emoji { height:16px; width:16px; vertical-align:-2px; }
img.emoji { height:1em; width:1em; vertical-align:-0.1em; display:inline-block; }

/* ======== OLD LAYOUT UTILITIES (backward compat) ======== */
.container { max-width:1200px; margin:0 auto; padding:0 20px; }
.container-sm { max-width:820px; margin:0 auto; padding:0 20px; }
.section { padding:64px 0; }
.section-sm { padding:40px 0; }
.section-lg { padding:80px 0; }
.section-header { text-align:center; margin-bottom:48px; }
.section-header h2 { font-family:var(--font-head); font-size:clamp(24px,3.5vw,36px); font-weight:800; color:var(--ta-heading); margin-bottom:12px; letter-spacing:-.02em; line-height:1.2; }
.section-header p { font-size:16px; color:var(--ta-muted); max-width:520px; margin:0 auto; line-height:1.7; }
.kv-flex { display:flex; align-items:flex-start; gap:40px; flex-wrap:wrap; }
.kv-padd { padding:56px 0; }
.justify-center { justify-content:center; }
.justify-between { justify-content:space-between; }
.items-center { align-items:center; }
.items-start { align-items:flex-start; }
.direction-col { flex-direction:column; }
.gap { gap:48px; }
.gap-3 { gap:24px; }
.gap-1 { gap:8px; }
.w-50 { width:calc(50% - 20px); flex:1 1 280px; }
.w-33 { flex:1 1 220px; }
.w-full, .w-100 { width:100%; }
.img-col { flex:1 1 340px; min-width:0; }
.img-col img { border-radius:16px; border:1px solid var(--ta-border); box-shadow:0 20px 60px rgba(0,0,0,.10),0 4px 16px rgba(0,0,0,.06); max-width:100%; display:block; width:100%; }
.content-col { flex:1 1 340px; }
.p-20 { padding:20px; }
.kv-rounded { border-radius:var(--radius-lg); }
.kv-img-border { border:1px solid var(--border); }
.text-center { text-align:center; }
.text-right { text-align:right; }
.displaynone { display:none; }
.sm-direction-col { flex-direction:column; }

/* kv-subTitle (eyebrow) */
.kv-subTitle { display:inline-block; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ta-accent); background:rgba(5,150,105,.08); border:1px solid rgba(5,150,105,.18); padding:4px 12px; border-radius:9999px; margin-bottom:10px; font-family:var(--font-body); }
.kv-subTitle.white { color:#fff; background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.2); }

/* kv-Title */
.kv-Title { font-family:var(--font-head); font-size:clamp(22px,3vw,34px); font-weight:700; color:var(--ta-heading); line-height:1.25; letter-spacing:-.02em; margin-bottom:12px; }
.kv-white { color:#fff !important; }
.r-kv-Title { font-family:var(--font-head); font-size:clamp(18px,2.5vw,28px); font-weight:700; color:var(--ta-heading); }
.kv-desc { font-size:15px; color:var(--ta-body); line-height:1.7; margin-bottom:14px; }

/* kv-act-btn */
.kv-act-btn { display:inline-flex; align-items:center; gap:7px; background:var(--ta-primary); color:#fff !important; border:2px solid var(--ta-primary); border-radius:8px; padding:10px 22px; font-size:14px; font-weight:600; font-family:var(--font-body); cursor:pointer; transition:all .2s; text-decoration:none; }
.kv-act-btn:hover { background:var(--ta-primary-dark); border-color:var(--ta-primary-dark); color:#fff !important; transform:translateY(-1px); }

/* btn-outline-ta */
.btn-outline-ta { display:inline-flex; align-items:center; gap:7px; background:transparent; color:var(--ta-primary) !important; border:1.5px solid var(--ta-primary); border-radius:8px; padding:10px 22px; font-size:14px; font-weight:600; font-family:var(--font-body); cursor:pointer; transition:all .2s; text-decoration:none; }
.btn-outline-ta:hover { background:var(--ta-primary-light); color:var(--ta-primary) !important; }

/* ── FEATURE BLOCKS ──────────────────────────────────────────── */
.feature-block { padding:80px 0; background:#fff; }
.feature-block.alt { background:var(--ta-surface); }
.feature-block.hrm-payrool { background:var(--ta-surface); }
.feature-block.procurement { background:#fff; }

/* ── MODULE HERO ─────────────────────────────────────────────── */
.mod-hero {
  padding:80px 0 68px;
  background:#fff;
  border-bottom:1px solid var(--ta-border);
  position:relative;
  overflow:hidden;
}
.mod-hero::before {
  content:'';
  position:absolute;
  top:-120px; right:-100px;
  width:500px; height:500px;
  background:radial-gradient(circle,rgba(30,68,150,.07) 0%,transparent 65%);
  pointer-events:none;
}
.mod-hero::after {
  content:'';
  position:absolute;
  bottom:-80px; left:25%;
  width:380px; height:380px;
  background:radial-gradient(circle,rgba(5,150,105,.05) 0%,transparent 65%);
  pointer-events:none;
}
.mod-hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:linear-gradient(135deg,rgba(30,68,150,.1),rgba(30,68,150,.05));
  border:1px solid rgba(30,68,150,.2);
  border-radius:9999px; padding:6px 18px;
  font-size:11px; color:var(--ta-primary); font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; margin-bottom:22px;
}
.mod-hero h1 {
  font-family:var(--font-head);
  font-size:clamp(32px,5.5vw,54px);
  font-weight:800; color:var(--ta-heading);
  line-height:1.08; letter-spacing:-.03em;
  margin-bottom:18px; max-width:700px;
}
.mod-hero p {
  font-size:17px; color:var(--ta-muted);
  max-width:560px; line-height:1.75; margin-bottom:32px;
}
.mod-hero-cta { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px; }
.mod-hero-notes { display:flex; gap:20px; flex-wrap:wrap; }
.mod-hero-note {
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; color:var(--ta-muted);
}
.mod-hero-note::before { content:'✓'; color:var(--ta-accent); font-weight:800; font-size:11px; }

/* ── MODULE CTA BANNER ───────────────────────────────────────── */
.mod-cta {
  padding:64px 0;
  background:linear-gradient(135deg,#0f2252 0%,#1e4496 55%,#1a5cb8 100%);
  position:relative; overflow:hidden;
}
.mod-cta::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(circle at 75% 50%,rgba(5,150,105,.18) 0%,transparent 55%);
  pointer-events:none;
}
.mod-cta-wrap { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:32px; position:relative; }
.mod-cta h3 { font-family:var(--font-head); font-size:clamp(20px,3vw,30px); font-weight:800; color:#fff; margin-bottom:8px; line-height:1.2; }
.mod-cta p { font-size:15px; color:rgba(255,255,255,.72); margin:0; max-width:480px; line-height:1.65; }
.mod-cta-btns { display:flex; gap:12px; flex-wrap:wrap; flex-shrink:0; }
.btn-white-solid { display:inline-flex; align-items:center; gap:8px; background:#fff; color:var(--ta-primary) !important; border:none; border-radius:10px; padding:12px 26px; font-size:14px; font-weight:700; text-decoration:none; transition:all .2s; cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,.15); }
.btn-white-solid:hover { background:#eef2fb; color:var(--ta-primary) !important; transform:translateY(-1px); }

/* Sales point */
.sales-point { display:flex; gap:32px; flex-wrap:wrap; }
.kv-ul { list-style:none; padding:0; margin:0; }
.kv-li { display:flex; align-items:center; gap:8px; font-size:14px; color:var(--ta-body); margin-bottom:8px; }
.kv-li.kv-white { color:rgba(255,255,255,.8) !important; }

/* Hero dark (old) */
.hero-dark { background:linear-gradient(135deg,#0c1a3d 0%,#1e4496 65%,#142d6b 100%); padding:80px 0 64px; position:relative; overflow:hidden; }
.hero-dark::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 15% 50%,rgba(5,150,105,.12) 0,transparent 55%); pointer-events:none; }
.hero-content { max-width:680px; }
.hero-tag { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); border-radius:9999px; padding:5px 16px; font-size:12px; color:rgba(255,255,255,.8); margin-bottom:20px; }
.hero-tag .dot { width:7px; height:7px; background:#34d399; border-radius:50%; }
.hero-dark h2 { font-family:var(--font-head); font-size:clamp(28px,5vw,50px); font-weight:800; color:#fff; line-height:1.1; letter-spacing:-.03em; margin-bottom:16px; }
.hero-dark p { font-size:16px; color:rgba(255,255,255,.7); line-height:1.7; margin-bottom:20px; max-width:540px; }
.hero-module-list ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0 0 24px; }
.hero-module-list li { font-size:12px; color:rgba(255,255,255,.7); background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15); border-radius:9999px; padding:5px 14px; }
.hero-cta { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.hero-note { display:flex; gap:16px; flex-wrap:wrap; }
.hero-note span { font-size:12.5px; color:rgba(255,255,255,.5); }
.hero-note span::before { content:'✓ '; color:#34d399; }
.screenshot img { border-radius:12px; box-shadow:0 24px 64px rgba(0,0,0,.4); border:1px solid rgba(255,255,255,.1); }
.screenshot { margin-top:48px; }

/* Stats bar (old) */
.stats-bar { background:#fff; border-bottom:1px solid var(--border); }
.stats-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:0; }
.stat-item { text-align:center; padding:16px 0; border-right:1px solid var(--border); }
.stat-item:last-child { border-right:none; }
.stat-value { font-family:var(--font-head); font-size:28px; font-weight:800; color:var(--ta-primary); line-height:1; }
.stat-label { font-size:12px; color:var(--slate); margin-top:4px; }

/* Support section */
.support-section { background:linear-gradient(135deg,#0c1a3d,var(--ta-primary)); padding:72px 0; }
.img-width { max-width:480px; }

/* CTA section */
.cta { background:linear-gradient(135deg,#0c1a3d,var(--ta-primary)); padding:80px 0; }

/* Page hero (old pages) */
.page-hero { background:linear-gradient(135deg,#0c1a3d 0%,#1e4496 65%,#142d6b 100%); padding:56px 0 44px; position:relative; overflow:hidden; }
.page-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 15% 50%,rgba(5,150,105,.1) 0%,transparent 55%); pointer-events:none; }
.page-hero.center { text-align:center; }
.page-hero h1 { font-family:var(--font-head); font-size:clamp(28px,5vw,48px); font-weight:800; color:#fff; line-height:1.15; letter-spacing:-.03em; margin-bottom:12px; }
.page-hero p { font-size:16px; color:rgba(255,255,255,.7); max-width:540px; margin:0 auto; }

/* About page */
.about-section { padding:64px 0; }
.about-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.about-stat-card { background:var(--ta-surface); border:1px solid var(--ta-border); border-radius:12px; padding:18px; text-align:center; }
.stat-num { font-family:var(--font-head); font-size:28px; font-weight:800; color:var(--ta-primary); }
.stat-lbl { font-size:12px; color:var(--ta-muted); margin-top:4px; }

/* Home modules grid */
.home-modules-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.home-module-card { background:#fff; border:1px solid var(--ta-border); border-radius:12px; padding:20px; text-decoration:none; transition:all .2s; display:flex; flex-direction:column; }
.home-module-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-2px); border-color:var(--ta-primary); }
.hm-icon { width:44px; height:44px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:12px; color:#fff; }
.hm-blue { background:rgba(30,68,150,.12); color:var(--ta-primary); }
.hm-purple { background:rgba(124,58,237,.1); color:#7c3aed; }
.hm-green { background:rgba(5,150,105,.1); color:var(--ta-accent); }
.hm-amber { background:rgba(245,158,11,.1); color:#d97706; }
.hm-red { background:rgba(239,68,68,.1); color:#dc2626; }
.hm-slate { background:rgba(100,116,139,.1); color:var(--ta-muted); }
.home-module-card h5 { font-family:var(--font-head); font-weight:700; font-size:14px; color:var(--ta-heading); margin-bottom:6px; }
.home-module-card > p { font-size:13px; color:var(--ta-muted); line-height:1.55; flex:1; }
.hm-body { flex:1; }
.hm-features { list-style:none; padding:0; margin:8px 0 0; }
.hm-features li { font-size:12px; color:var(--ta-muted); padding:2px 0; display:flex; align-items:center; gap:6px; }
.hm-features li::before { content:'→'; color:var(--ta-primary); font-size:10px; }
.hm-link { font-size:12px; font-weight:600; color:var(--ta-primary); margin-top:12px; display:flex; align-items:center; gap:5px; }

/* Feature list row */
.feature-list-row { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.feature-list-item { background:#fff; border:1px solid var(--ta-border); border-radius:12px; padding:20px; text-align:center; transition:all .2s; }
.feature-list-item:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); }
.feature-list-item .icon { width:44px; height:44px; background:var(--ta-primary-light); color:var(--ta-primary); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:18px; margin:0 auto 12px; }
.feature-list-item h5 { font-family:var(--font-head); font-weight:700; font-size:13px; color:var(--ta-heading); margin-bottom:4px; }
.feature-list-item p { font-size:12px; color:var(--ta-muted); margin:0; }

/* Pricing section (old pages) */
.pricing-section { padding:72px 0; background:var(--ta-surface); }
.pricing-wrap { background:var(--ta-surface); }
.pricing { background:#fff; border:1px solid var(--ta-border); border-radius:16px; padding:28px; box-shadow:var(--shadow-sm); height:100%; position:relative; }
.pricing.featured { border:2px solid var(--ta-primary); box-shadow:0 4px 24px rgba(30,68,150,.18); }
.pricing-header h3 { font-family:var(--font-head); font-weight:700; font-size:18px; color:var(--ta-heading); margin-bottom:4px; }
.pricing-header p { font-size:13px; color:var(--ta-muted); margin-bottom:16px; }
.pricing-plan h1 { font-family:var(--font-head); font-size:32px; font-weight:800; color:var(--ta-heading); margin-bottom:4px; }
.badge-top { position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--ta-primary); color:#fff; font-size:11px; font-weight:700; padding:4px 14px; border-radius:9999px; white-space:nowrap; }
.pricing-body .check-list li { font-size:13px; color:var(--ta-body); padding:5px 0; border-bottom:1px solid var(--ta-border); display:flex; align-items:center; gap:7px; }
.pricing-body .check-list li::before { content:'✓'; color:var(--ta-accent); font-weight:700; font-size:12px; }
.signup-wrap { margin-top:16px; text-align:center; }
.signup-wrap button { width:100%; padding:11px; border-radius:8px; font-size:14px; font-weight:600; font-family:var(--font-body); cursor:pointer; background:var(--ta-primary); color:#fff; border:none; }
.pricing-row { display:flex; flex-wrap:wrap; gap:18px; justify-content:center; }
.price.featured { border:2px solid var(--ta-primary); box-shadow:0 4px 24px rgba(30,68,150,.18); }

/* ======== MISSING COMPONENT STYLES ======== */

/* ── LAYOUT UTILITIES ────────────────────────── */
.section-flex { display:flex; gap:64px; align-items:center; flex-wrap:wrap; }
.section-flex.reverse { flex-direction:row-reverse; }
.section-header-left { margin-bottom:40px; }
.section-header-left h2 { font-size:clamp(22px,3vw,32px); font-weight:800; color:var(--ta-heading); margin-bottom:10px; letter-spacing:-.02em; }
.section-header-left p { font-size:15px; color:var(--ta-muted); max-width:520px; line-height:1.7; }

/* ── MODULE PAGES ────────────────────────────── */
.module-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); border-radius:9999px; padding:5px 16px; font-size:12px; color:rgba(255,255,255,.85); margin-bottom:16px; font-family:var(--font-body); font-weight:600; letter-spacing:.04em; }
.video-showcase { padding:56px 0; background:var(--ta-surface); border-top:1px solid var(--ta-border); border-bottom:1px solid var(--ta-border); }
.browser-frame { background:#fff; border:1px solid var(--ta-border); border-radius:12px; overflow:hidden; box-shadow:0 8px 32px rgba(0,0,0,.12); }
.frame-bar { background:var(--ta-surface); border-bottom:1px solid var(--ta-border); padding:10px 16px; display:flex; align-items:center; gap:8px; }
.frame-bar .dot { width:10px; height:10px; border-radius:50%; display:inline-block; }
.addr { background:#fff; border:1px solid var(--ta-border); border-radius:6px; padding:4px 12px; font-size:12px; color:var(--ta-muted); flex:1; font-family:var(--font-mono); }

/* ── BUTTONS ─────────────────────────────────── */
.btn-ghost-white { display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.1); color:#fff !important; border:1.5px solid rgba(255,255,255,.3); border-radius:8px; padding:10px 22px; font-size:14px; font-weight:600; font-family:var(--font-body); cursor:pointer; transition:all .2s; text-decoration:none; }
.btn-ghost-white:hover { background:rgba(255,255,255,.18); color:#fff !important; }
.btn-amber { background:var(--ta-warning) !important; border-color:var(--ta-warning) !important; color:#422006 !important; }
.btn-amber:hover { background:#b45309 !important; border-color:#b45309 !important; }

/* ── PLAN HERO ───────────────────────────────── */
.plan-hero { background:linear-gradient(135deg,#0c1a3d 0%,#1e4496 65%,#142d6b 100%); padding:64px 0 52px; position:relative; overflow:hidden; }
.plan-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 15% 50%,rgba(5,150,105,.12) 0,transparent 55%); pointer-events:none; }
.plan-hero h1 { font-family:var(--font-head); font-size:clamp(28px,5vw,48px); font-weight:800; color:#fff; line-height:1.15; letter-spacing:-.03em; margin-bottom:12px; }
.plan-hero p { font-size:16px; color:rgba(255,255,255,.72); max-width:560px; line-height:1.7; }

/* ── PLAN FEATURE CARDS ──────────────────────── */
.plan-features-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }
.plan-feature-card { background:#fff; border:1px solid var(--ta-border); border-radius:12px; padding:24px; transition:all .2s; }
.plan-feature-card:hover { box-shadow:0 6px 20px rgba(0,0,0,.08); transform:translateY(-2px); }
.pfc-icon { width:44px; height:44px; border-radius:10px; background:var(--ta-primary-light); color:var(--ta-primary); display:flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:12px; }
.plan-feature-card h4 { font-family:var(--font-head); font-weight:700; font-size:14px; color:var(--ta-heading); margin-bottom:6px; }
.plan-feature-card p { font-size:13px; color:var(--ta-muted); line-height:1.6; margin:0; }

/* ── ENTERPRISE ──────────────────────────────── */
.enterprise-hero { background:linear-gradient(135deg,#0c1a3d 0%,#0f2252 60%,#1e4496 100%); padding:72px 0 56px; }
.enterprise-features { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; }
.enterprise-card { background:#fff; border:1px solid var(--ta-border); border-radius:12px; padding:24px; transition:all .2s; }
.enterprise-card:hover { box-shadow:0 6px 20px rgba(0,0,0,.08); transform:translateY(-2px); }
.ec-icon { width:44px; height:44px; border-radius:10px; background:var(--ta-primary-light); color:var(--ta-primary); display:flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:12px; }
.enterprise-card h4 { font-family:var(--font-head); font-weight:700; font-size:15px; color:var(--ta-heading); margin-bottom:6px; }
.enterprise-card p { font-size:13px; color:var(--ta-muted); line-height:1.65; margin:0; }
.country-card-lg { background:#fff; border:1px solid var(--ta-border); border-radius:12px; padding:20px; text-align:center; transition:all .2s; }
.country-card-lg:hover { box-shadow:0 4px 16px rgba(0,0,0,.08); transform:translateY(-2px); }
.country-card-lg h5 { font-family:var(--font-head); font-weight:700; font-size:14px; color:var(--ta-heading); margin-bottom:4px; }

/* ── CAPABILITY / GENERIC FEATURE GRID ───────── */
.capability-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:20px; }
.capability-card {
  background:#fff; border:1px solid var(--ta-border); border-radius:16px;
  padding:28px 24px; transition:all .25s ease;
  position:relative; overflow:hidden;
}
.capability-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--ta-primary),var(--ta-accent));
  transform:scaleX(0); transition:transform .25s ease; transform-origin:left;
}
.capability-card:hover { box-shadow:0 16px 40px rgba(30,68,150,.12); transform:translateY(-5px); border-color:transparent; }
.capability-card:hover::after { transform:scaleX(1); }
.cap-icon {
  width:52px; height:52px; border-radius:14px;
  background:linear-gradient(135deg,var(--ta-primary-light),rgba(30,68,150,.08));
  color:var(--ta-primary); display:flex; align-items:center; justify-content:center;
  font-size:20px; margin-bottom:16px; transition:all .25s;
}
.capability-card:hover .cap-icon { background:linear-gradient(135deg,var(--ta-primary),var(--ta-accent)); color:#fff; }
.capability-card h4 { font-family:var(--font-head); font-weight:700; font-size:15px; color:var(--ta-heading); margin-bottom:8px; line-height:1.3; }
.capability-card p { font-size:13.5px; color:var(--ta-muted); line-height:1.65; margin:0; }

/* ── HOW IT WORKS / STEPS ────────────────────── */
.how-it-works { background:var(--ta-surface); padding:64px 0; border-top:1px solid var(--ta-border); border-bottom:1px solid var(--ta-border); }
.steps-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:24px; }
.step-card { background:#fff; border:1px solid var(--ta-border); border-radius:12px; padding:28px 24px; text-align:center; transition:all .2s; }
.step-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.08); }
.step-num { width:44px; height:44px; border-radius:50%; background:var(--ta-primary); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--font-head); font-weight:700; font-size:16px; margin:0 auto 16px; }
.step-card h4 { font-family:var(--font-head); font-weight:700; font-size:15px; color:var(--ta-heading); margin-bottom:8px; }
.step-card p { font-size:13px; color:var(--ta-muted); line-height:1.65; margin:0; }

/* ── CTA BUTTONS ─────────────────────────────── */
.cta-btns { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
.cta-note,.cta-notes { font-size:12px; color:rgba(255,255,255,.5); margin-top:12px; }
.cta-strip { padding:40px 0; background:var(--ta-primary); }
.cta-strip .container { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
.cta-strip h3 { font-family:var(--font-head); font-size:20px; font-weight:700; color:#fff; margin-bottom:4px; }
.cta-strip p { font-size:14px; color:rgba(255,255,255,.72); margin:0; }
.cta-wrap { padding:72px 0; background:linear-gradient(135deg,#0c1a3d,var(--ta-primary)); }
.cta-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* ── APPS GRID (FEATURES PAGE) ───────────────── */
.apps-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }
.app-card { background:#fff; border:1px solid var(--ta-border); border-radius:12px; padding:24px; text-decoration:none; display:flex; flex-direction:column; transition:all .2s; }
.app-card:hover { box-shadow:0 6px 20px rgba(0,0,0,.08); transform:translateY(-2px); border-color:var(--ta-primary); }
.app-icon { width:44px; height:44px; border-radius:10px; background:var(--ta-primary-light); color:var(--ta-primary); display:flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:12px; }
.app-card h4 { font-family:var(--font-head); font-weight:700; font-size:14px; color:var(--ta-heading); margin-bottom:6px; }
.app-card > p { font-size:13px; color:var(--ta-muted); line-height:1.6; flex:1; margin:0; }
.app-link { font-size:12px; font-weight:600; color:var(--ta-primary); margin-top:12px; display:flex; align-items:center; gap:5px; }
.app-tag { display:inline-block; background:var(--ta-primary-light); color:var(--ta-primary); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:2px 8px; border-radius:4px; margin-bottom:8px; }

/* ── VALUES GRID (ABOUT / COMPARISON PAGES) ──── */
.values-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.value-card { background:#fff; border:1px solid var(--ta-border); border-radius:12px; padding:24px; transition:all .2s; }
.value-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.06); }
.vi { width:44px; height:44px; border-radius:10px; background:var(--ta-primary-light); color:var(--ta-primary); display:flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:12px; }
.value-card h4 { font-family:var(--font-head); font-weight:700; font-size:14px; color:var(--ta-heading); margin-bottom:6px; }
.value-card p { font-size:13px; color:var(--ta-muted); line-height:1.6; margin:0; }

/* ── TIMELINE (ABOUT PAGE) ───────────────────── */
.timeline { position:relative; padding-left:28px; }
.timeline::before { content:''; position:absolute; left:9px; top:0; bottom:0; width:2px; background:var(--ta-border); }
.timeline-item { position:relative; padding-bottom:28px; }
.timeline-dot { position:absolute; left:-22px; top:4px; width:16px; height:16px; border-radius:50%; background:var(--ta-primary); border:2px solid #fff; box-shadow:0 0 0 2px var(--ta-primary); }
.timeline-dot.primary { background:var(--ta-accent); box-shadow:0 0 0 2px var(--ta-accent); }
.timeline-content { padding-left:4px; }
.timeline-year { font-size:11px; font-weight:700; color:var(--ta-accent); letter-spacing:.08em; text-transform:uppercase; margin-bottom:3px; }
.timeline-event { font-size:14px; color:var(--ta-body); line-height:1.6; }

/* ── BLOG ────────────────────────────────────── */
.blog-hero { background:linear-gradient(135deg,#0c1a3d 0%,#1e4496 65%,#142d6b 100%); padding:56px 0 44px; text-align:center; position:relative; overflow:hidden; }
.blog-hero::before { content:''; position:absolute; inset:0; background:radial-gradient(circle at 15% 50%,rgba(5,150,105,.1) 0,transparent 55%); pointer-events:none; }
.blog-hero h1 { font-family:var(--font-head); font-size:clamp(28px,4vw,42px); font-weight:800; color:#fff; line-height:1.15; letter-spacing:-.03em; margin-bottom:12px; }
.blog-hero p { font-size:16px; color:rgba(255,255,255,.7); max-width:540px; margin:0 auto 20px; }
.search-form-inline { display:flex; max-width:440px; margin:0 auto; background:#fff; border-radius:10px; overflow:hidden; }
.search-form-inline input { flex:1; border:none; outline:none; padding:12px 16px; font-size:14px; font-family:var(--font-body); color:var(--ta-heading); }
.search-form-inline button { background:var(--ta-primary); color:#fff; border:none; padding:12px 18px; cursor:pointer; font-size:14px; transition:background .2s; }
.search-form-inline button:hover { background:var(--ta-primary-dark); }
.blog-grid-section { padding:56px 0; }
.blog-grid-wrap { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; }
.blog-card { background:#fff; border:1px solid var(--ta-border); border-radius:16px; overflow:hidden; text-decoration:none; display:flex; flex-direction:column; transition:all .2s; box-shadow:0 1px 4px rgba(0,0,0,.05); }
.blog-card:hover { box-shadow:0 8px 24px rgba(0,0,0,.10); transform:translateY(-2px); }
.blog-card-img { height:180px; overflow:hidden; background:var(--ta-surface); }
.blog-card-img img { width:100%; height:100%; object-fit:cover; }
.blog-card-body { padding:20px; flex:1; display:flex; flex-direction:column; }
.blog-category-badge { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ta-primary); margin-bottom:8px; display:block; }
.blog-card-title { font-family:var(--font-head); font-weight:700; font-size:15px; color:var(--ta-heading); line-height:1.45; margin-bottom:10px; display:block; flex:1; }
.blog-card-meta { display:flex; align-items:center; gap:10px; font-size:11px; color:var(--ta-muted); margin-top:auto; padding-top:12px; border-top:1px solid var(--ta-border); flex-wrap:wrap; }
.blog-card-meta span { display:inline-flex; align-items:center; gap:4px; }
.blog-card-meta .fas,.blog-card-meta .far { font-size:11px; }
/* Blog detail */
.blog-detail-wrap { padding:48px 0; }
.article-container { max-width:780px; margin:0 auto; }
.blog-cover-img { border-radius:12px; overflow:hidden; margin-bottom:28px; max-height:420px; }
.blog-cover-img img { width:100%; max-height:420px; object-fit:cover; }
.blog-categories-row { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.blog-categories-row a { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ta-primary); background:var(--ta-primary-light); padding:3px 10px; border-radius:6px; text-decoration:none; }
.blog-title { font-family:var(--font-head); font-size:clamp(22px,3vw,34px); font-weight:800; color:var(--ta-heading); line-height:1.25; letter-spacing:-.02em; margin-bottom:16px; }
.blog-title2 { font-family:var(--font-head); font-size:clamp(18px,2.5vw,28px); font-weight:700; color:var(--ta-heading); line-height:1.3; margin-bottom:16px; }
.blog-meta-bar { display:flex; align-items:center; gap:12px; margin-bottom:28px; padding-bottom:20px; border-bottom:1px solid var(--ta-border); }
.author-avatar { width:44px; height:44px; border-radius:50%; overflow:hidden; flex-shrink:0; background:var(--ta-primary-light); }
.author-avatar img { width:100%; height:100%; object-fit:cover; }
.author-info h4 { font-family:var(--font-head); font-weight:600; font-size:14px; color:var(--ta-heading); margin-bottom:2px; }
.author-info p { font-size:12px; color:var(--ta-muted); margin:0; }
.blog-content { font-size:16px; line-height:1.8; color:var(--ta-body); }
.blog-content h2 { font-family:var(--font-head); font-size:22px; font-weight:700; color:var(--ta-heading); margin:32px 0 12px; padding-bottom:8px; border-bottom:1px solid var(--ta-border); }
.blog-content h3 { font-family:var(--font-head); font-size:18px; font-weight:700; color:var(--ta-heading); margin:24px 0 10px; }
.blog-content p { margin-bottom:16px; }
.blog-content ul,.blog-content ol { padding-left:24px; margin-bottom:16px; }
.blog-content li { margin-bottom:6px; line-height:1.7; }
.blog-content img { border-radius:10px; max-width:100%; margin:16px 0; }
.blog-content blockquote { border-left:4px solid var(--ta-primary); background:var(--ta-primary-light); padding:16px 20px; border-radius:0 8px 8px 0; margin:20px 0; font-style:italic; color:var(--ta-body); }
.blog-content code { background:var(--ta-surface); border:1px solid var(--ta-border); border-radius:4px; padding:2px 6px; font-family:var(--font-mono); font-size:13px; color:var(--ta-primary); }
.blog-content pre { background:var(--ta-heading); border-radius:10px; padding:20px; overflow-x:auto; margin-bottom:16px; }
.blog-content pre code { background:none; border:none; color:#e2e8f0; }

/* ── CONTACT PAGE ────────────────────────────── */
.contact-page { padding:56px 0; }
.contact-info-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; margin-bottom:40px; }
.contact-info-card { background:#fff; border:1px solid var(--ta-border); border-radius:12px; padding:24px; text-align:center; transition:all .2s; }
.contact-info-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.06); transform:translateY(-2px); }
.ci-icon { width:48px; height:48px; border-radius:12px; background:var(--ta-primary-light); color:var(--ta-primary); display:flex; align-items:center; justify-content:center; font-size:20px; margin:0 auto 12px; }
.ci-label { font-family:var(--font-head); font-weight:700; font-size:14px; color:var(--ta-heading); margin-bottom:3px; }
.ci-sub { font-size:12px; color:var(--ta-muted); margin-bottom:6px; }
.ci-value { font-size:14px; font-weight:600; color:var(--ta-primary); }
.ci-value a { color:var(--ta-primary); text-decoration:none; }
.contact-form-wrap { background:#fff; border:1px solid var(--ta-border); border-radius:16px; padding:32px; box-shadow:0 1px 4px rgba(0,0,0,.05); }
.contact-sidebar { display:flex; flex-direction:column; gap:16px; }
.contact-trial-panel { background:linear-gradient(135deg,#eef2fb,#ecfdf5); border:1px solid var(--ta-border); border-radius:12px; padding:24px; text-align:center; }
.contact-trial-panel h3 { font-family:var(--font-head); font-weight:700; font-size:16px; color:var(--ta-heading); margin-bottom:8px; }
.contact-trial-panel p { font-size:13px; color:var(--ta-muted); margin-bottom:16px; line-height:1.6; }
.contact-location-card { background:#fff; border:1px solid var(--ta-border); border-radius:12px; padding:20px; }
.contact-location-card h4 { font-family:var(--font-head); font-weight:700; font-size:14px; color:var(--ta-heading); margin-bottom:10px; }
.contact-location-card p { font-size:13px; color:var(--ta-muted); line-height:1.7; margin:0 0 6px; }
.form-success { background:var(--ta-accent-light); border:1px solid rgba(5,150,105,.2); border-radius:12px; padding:28px; text-align:center; margin-bottom:20px; }
.form-success .success-icon { font-size:36px; margin-bottom:10px; }
.form-success h4 { font-family:var(--font-head); font-weight:700; font-size:16px; color:var(--ta-heading); margin-bottom:6px; }
.form-success p { font-size:14px; color:var(--ta-muted); margin:0; }
/* Form styles */
.ta-form .form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:0; }
.ta-form .form-group { display:flex; flex-direction:column; gap:5px; margin-bottom:16px; }
.ta-form label { font-size:13px; font-weight:600; color:var(--ta-heading); font-family:var(--font-body); }
.ta-form input,.ta-form select,.ta-form textarea { border:1.5px solid var(--ta-border); border-radius:8px; padding:10px 14px; font-size:14px; font-family:var(--font-body); color:var(--ta-heading); background:#fff; transition:border-color .2s; outline:none; width:100%; }
.ta-form input:focus,.ta-form select:focus,.ta-form textarea:focus { border-color:var(--ta-primary); box-shadow:0 0 0 3px rgba(30,68,150,.08); }
.ta-form textarea { min-height:120px; resize:vertical; }

/* ── COMPARISON / SUPPORT TABLE ──────────────── */
.comparison-table { width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--ta-border); border-radius:12px; overflow:hidden; font-size:13px; }
.comparison-table thead th { background:var(--ta-surface); padding:12px 16px; font-family:var(--font-head); font-weight:700; font-size:12px; color:var(--ta-heading); text-align:center; border-bottom:1px solid var(--ta-border); border-right:1px solid var(--ta-border); }
.comparison-table thead th:first-child { text-align:left; }
.comparison-table tbody td { padding:10px 16px; border-bottom:1px solid var(--ta-border); border-right:1px solid var(--ta-border); color:var(--ta-body); text-align:center; }
.comparison-table tbody td:first-child { text-align:left; font-weight:500; color:var(--ta-heading); }
.comparison-table tbody tr:last-child td { border-bottom:none; }
.comparison-table thead th:last-child,.comparison-table tbody td:last-child { border-right:none; }
.comparison-table .ta-col { background:rgba(30,68,150,.04); font-weight:600; }
.comparison-table tfoot td { padding:10px 16px; font-size:11px; color:var(--ta-muted); border-top:1px solid var(--ta-border); text-align:left; border-right:none; }
.feature-name { font-weight:600 !important; color:var(--ta-heading) !important; }
.tick { color:var(--ta-accent); font-weight:700; }
.partial { color:var(--ta-warning); font-weight:600; }
.cross { color:var(--ta-error); font-weight:700; }

/* ── FAQ LIST ────────────────────────────────── */
.faq-list { display:flex; flex-direction:column; gap:8px; }
.faq-item { border:1px solid var(--ta-border); border-radius:10px; overflow:hidden; }
.faq-item.open { border-color:var(--ta-primary); }
.faq-question { padding:16px 20px; font-size:14px; font-weight:600; color:var(--ta-heading); font-family:var(--font-head); cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:8px; transition:background .15s; user-select:none; }
.faq-question:hover { background:var(--ta-surface); }
.faq-item.open .faq-question { background:var(--ta-primary-light); color:var(--ta-primary); }
.faq-answer { display:none; padding:0 20px 16px; font-size:14px; color:var(--ta-body); line-height:1.7; }
.faq-item.open .faq-answer { display:block; }
.fq-icon { font-size:11px; flex-shrink:0; transition:transform .2s; }
.faq-item.open .fq-icon { transform:rotate(180deg); }

/* ── TESTIMONIALS / REVIEWS ──────────────────── */
.testimonial-card { background:#fff; border:1px solid var(--ta-border); border-radius:16px; padding:24px; box-shadow:0 1px 4px rgba(0,0,0,.05); }
.tq-text { font-size:14px; color:var(--ta-body); line-height:1.75; margin-bottom:16px; }
.tq-author { display:flex; align-items:center; gap:12px; }
.tq-avatar { width:40px; height:40px; border-radius:50%; background:var(--ta-primary-light); display:flex; align-items:center; justify-content:center; font-family:var(--font-head); font-weight:700; font-size:15px; color:var(--ta-primary); flex-shrink:0; }
.tq-name { font-family:var(--font-head); font-weight:600; font-size:13px; color:var(--ta-heading); margin-bottom:2px; }
.tq-role { font-size:12px; color:var(--ta-muted); }

/* ── CLIENTS / LOGO STRIP ────────────────────── */
.clients-wrap { padding:48px 0; border-top:1px solid var(--ta-border); background:var(--ta-surface); }
.clients-inner { text-align:center; }
.clients-inner p { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ta-muted); margin-bottom:20px; }
.client-logo { display:inline-flex; align-items:center; font-family:var(--font-head); font-weight:700; font-size:12px; color:var(--ta-muted); background:#fff; border:1px solid var(--ta-border); border-radius:8px; padding:8px 20px; height:44px; margin:4px; }

/* ── FOOTER SOCIAL (small icon, non-footer use) ── */
.footer-social { width:30px; height:30px; border-radius:6px; display:inline-flex; align-items:center; justify-content:center; font-size:13px; transition:all .2s; text-decoration:none; }

/* ── DOCS SIDEBAR ────────────────────────────── */
.doc-sidebar { background:var(--ta-surface); border-right:1px solid var(--ta-border); overflow-y:auto; }
.doc-links { padding-bottom:32px; }
.doc-links .accordion-item { border:none; border-radius:0; margin:0; }
.doc-links .accordion-header { padding:8px 16px; font-size:13px; font-weight:600; color:var(--ta-body); font-family:var(--font-body); cursor:pointer; display:flex; justify-content:space-between; align-items:center; transition:background .15s; border-radius:0; background:none; }
.doc-links .accordion-header:hover,.doc-links .accordion-header.active { background:var(--ta-primary-light); color:var(--ta-primary); }
.doc-links .sub-menu { display:none; padding-left:12px; list-style:none; margin:0; }
.doc-links .sub-menu.show { display:block; }
.doc-links .sub-menu li { list-style:none; }
.doc-links .sub-menu li a { display:block; padding:6px 12px; font-size:12.5px; color:var(--ta-muted); border-radius:6px; transition:all .15s; text-decoration:none; }
.doc-links .sub-menu li a:hover,.doc-links .sub-menu li.active a { color:var(--ta-primary); background:var(--ta-primary-light); font-weight:600; }
.doc-content { padding:32px; flex:1; min-width:0; }
.doc-index-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; }
.doc-index-card { background:#fff; border:1px solid var(--ta-border); border-radius:10px; padding:18px; text-decoration:none; display:block; transition:all .2s; }
.doc-index-card:hover { box-shadow:0 4px 12px rgba(0,0,0,.08); border-color:var(--ta-primary); }
.doc-index-card h4 { font-family:var(--font-head); font-weight:600; font-size:13px; color:var(--ta-heading); margin-bottom:4px; }
.doc-index-card p { font-size:12px; color:var(--ta-muted); margin:0; line-height:1.5; }
.search-form { padding:12px; }
.search-form form { display:flex; align-items:center; background:#fff; border:1.5px solid var(--ta-border); border-radius:8px; overflow:hidden; }
.search-form input { flex:1; border:none; outline:none; padding:8px 12px; font-size:13px; font-family:var(--font-body); color:var(--ta-heading); background:transparent; }
.search-form button { background:none; border:none; padding:8px 10px; cursor:pointer; color:var(--ta-muted); }

/* ── STANDALONE CHECK-LIST ───────────────────── */
.check-list { list-style:none; padding:0; margin:0; }
.check-list li {
  display:flex; align-items:flex-start; gap:12px;
  font-size:15px; color:var(--ta-body);
  padding:11px 0; border-bottom:1px solid var(--ta-border); line-height:1.5;
}
.check-list li:last-child { border-bottom:none; }
.check-list li i {
  width:22px; height:22px;
  background:rgba(5,150,105,.1); color:var(--ta-accent);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:10px; flex-shrink:0; margin-top:1px;
}

/* ── TRANSACTION DETAIL LIST ─────────────────── */
.ta-tx-list { display:flex; flex-direction:column; gap:0; }
.ta-tx-item { display:flex; gap:28px; padding:36px 0; border-bottom:1px solid var(--ta-border); align-items:flex-start; }
.ta-tx-item:last-child { border-bottom:none; }
.ta-tx-icon-wrap { width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; margin-top:4px; }
.ta-tx-body { flex:1; min-width:0; }
.ta-tx-body h3 { font-family:var(--font-head); font-size:18px; font-weight:700; color:var(--ta-heading); margin-bottom:12px; }
.ta-tx-body p { font-size:15px; color:var(--ta-body); line-height:1.75; margin-bottom:10px; }
.ta-tx-body p:last-child { margin-bottom:0; }
@media(max-width:576px) {
  .ta-tx-item { flex-direction:column; gap:16px; }
  .ta-tx-icon-wrap { width:44px; height:44px; font-size:17px; }
}

/* ── MISC PAGE ELEMENTS ──────────────────────── */
.subpage-header { padding:40px 0; border-bottom:1px solid var(--ta-border); }
.cd-hero { background:var(--ta-surface); padding:48px 0; border-bottom:1px solid var(--ta-border); }
.cta .kv-flex { flex-direction:column; align-items:center; text-align:center; }
.cta .kv-Title { color:#fff; }
.cta .kv-desc { color:rgba(255,255,255,.75); }

/* ======== RESPONSIVE ======== */
@media(max-width:991px){
  .ta-docs-sidebar { width:100%; }
  .ta-docs-toc { display:none; }
  .home-modules-grid { grid-template-columns:repeat(2,1fr); }
  .feature-list-row { grid-template-columns:repeat(2,1fr); }
  .ta-module-grid { grid-template-columns:repeat(2,1fr); }
  .enterprise-features { grid-template-columns:repeat(2,1fr); }
  .plan-features-grid { grid-template-columns:repeat(2,1fr); }
  .apps-grid { grid-template-columns:repeat(2,1fr); }
  .contact-form-wrap { padding:24px; }
  .section-flex { flex-direction:column; gap:40px; }
  .section-flex.reverse { flex-direction:column; }
  .blog-grid-wrap { grid-template-columns:repeat(2,1fr); }
  .capability-grid { grid-template-columns:repeat(2,1fr); }
  .mod-cta-wrap { flex-direction:column; align-items:flex-start; }
  .mod-hero { padding:56px 0 48px; }
}
@media(max-width:768px){
  .ta-feat-list { grid-template-columns:1fr; }
  .ta-section, .ta-section-alt, .ta-section-dark { padding:48px 0; }
  .ta-hero { padding:48px 0 40px; }
  .ta-dash-card { display:none; }
  .ta-flow { gap:4px; }
  .ta-flow-step { min-width:60px; padding:7px 6px; }
  .ta-flow-step .name { font-size:9px; }
  .ta-flow-arrow { font-size:12px; }
  .stats-grid { grid-template-columns:repeat(3,1fr); }
  .about-stat-grid { grid-template-columns:repeat(2,1fr); }
  .sm-direction-col { flex-direction:column; }
  .feature-block { padding:52px 0; }
  .hero-dark { padding:48px 0 40px; }
  .screenshot { margin-top:32px; }
  .steps-grid { grid-template-columns:repeat(2,1fr); }
  .values-grid { grid-template-columns:repeat(2,1fr); }
  .contact-info-grid { grid-template-columns:repeat(2,1fr); }
  .blog-grid-wrap { grid-template-columns:1fr; }
  .ta-form .form-row { grid-template-columns:1fr; }
  .plan-hero { padding:44px 0 36px; }
  .mod-cta { padding:44px 0; }
  .mod-hero h1 { font-size:clamp(26px,6vw,36px); }
}
@media(max-width:576px){
  .ta-stats-bar .num { font-size:22px; }
  .ta-hero h1 { font-size:32px; }
  .ta-module-grid { grid-template-columns:repeat(2,1fr); }
  .ta-flow-step { min-width:52px; padding:6px 4px; }
  .ta-flow-step .icon { font-size:14px; }
  .ta-flow-step .name { font-size:8px; }
  .home-modules-grid { grid-template-columns:1fr 1fr; }
  .feature-list-row { grid-template-columns:1fr; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .hero-module-list ul { gap:6px; }
  .enterprise-features { grid-template-columns:1fr; }
  .plan-features-grid { grid-template-columns:1fr; }
  .apps-grid { grid-template-columns:1fr; }
  .steps-grid { grid-template-columns:1fr; }
  .values-grid { grid-template-columns:1fr; }
  .contact-info-grid { grid-template-columns:1fr; }
  .capability-grid { grid-template-columns:1fr 1fr; }
  .comparison-table { font-size:12px; }
  .comparison-table thead th,.comparison-table tbody td { padding:8px 10px; }
  .mod-hero { padding:44px 0 36px; }
  .mod-cta-btns { flex-direction:column; width:100%; }
  .mod-cta-btns a { justify-content:center; }
  .section-flex { gap:28px; }
  .feature-block { padding:44px 0; }
}

/* ======== DOCS v2 ======== */
.ta-docs-mobile-bar { display:none; background:#fff; border-bottom:1px solid var(--ta-border); padding:10px 16px; align-items:center; gap:12px; position:sticky; top:60px; z-index:100; }
.ta-docs-mobile-toggle { background:none; border:1.5px solid var(--ta-border); border-radius:8px; padding:7px 14px; font-size:13px; font-weight:600; color:var(--ta-heading); cursor:pointer; display:flex; align-items:center; gap:8px; }
.ta-docs-mobile-title { font-size:13px; color:var(--ta-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ta-docs-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:199; }
.ta-docs-overlay.show { display:block; }
.ta-docs-layout { display:flex; min-height:calc(100vh - 120px); align-items:stretch; max-width:1400px; margin:0 auto; }
.ta-docs-sidebar-wrap { width:268px; flex-shrink:0; border-right:1px solid var(--ta-border); background:#fff; position:sticky; top:61px; height:calc(100vh - 61px); overflow-y:auto; }
.ta-docs-sidebar-inner { padding:0 0 40px; }
.ta-docs-sidebar-header { display:flex; align-items:center; justify-content:space-between; padding:18px 16px 10px; }
.ta-docs-sidebar-title { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ta-muted); }
.ta-docs-close-btn { display:none; background:none; border:none; font-size:16px; color:var(--ta-muted); cursor:pointer; padding:4px 6px; }
.ta-docs-search-wrap { padding:8px 12px 14px; border-bottom:1px solid var(--ta-border); margin-bottom:8px; }
.ta-docs-search { display:flex; align-items:center; background:var(--ta-surface); border:1.5px solid var(--ta-border); border-radius:8px; overflow:hidden; transition:border-color .15s; }
.ta-docs-search:focus-within { border-color:var(--ta-primary); }
.ta-docs-search-icon { padding:0 10px; color:var(--ta-muted); font-size:13px; flex-shrink:0; }
.ta-docs-search-input { flex:1; border:none; outline:none; padding:9px 8px 9px 0; font-size:13px; font-family:var(--font-body); color:var(--ta-heading); background:transparent; }
.ta-docs-nav { padding:0 8px 16px; }
.ta-docs-nav-group { margin-bottom:2px; }
.ta-docs-nav-group-btn { display:flex; align-items:center; justify-content:space-between; width:100%; background:none; border:none; padding:8px 10px; border-radius:8px; font-size:13px; font-weight:600; color:var(--ta-heading); font-family:var(--font-body); cursor:pointer; transition:background .15s; text-align:left; }
.ta-docs-nav-group-btn:hover, .ta-docs-nav-group-btn.open { background:var(--ta-surface); color:var(--ta-primary); }
.ta-docs-group-icon { font-size:10px; transition:transform .2s; flex-shrink:0; }
.ta-docs-group-icon.open { transform:rotate(90deg); }
.ta-docs-nav-children { display:none; padding:2px 0 6px 12px; }
.ta-docs-nav-children.open { display:block; }
.ta-docs-nav-link { display:block; padding:7px 10px; border-radius:7px; font-size:13px; color:var(--ta-body); text-decoration:none; transition:all .15s; margin-bottom:1px; }
.ta-docs-nav-link:hover { background:var(--ta-surface); color:var(--ta-heading); }
.ta-docs-nav-link.active { background:var(--ta-primary-light); color:var(--ta-primary); font-weight:600; }
.ta-docs-nav-root { font-weight:600; color:var(--ta-heading); padding:8px 10px; }
.ta-docs-main { flex:1; min-width:0; }
.ta-docs-index-hero { padding:48px 40px 28px; border-bottom:1px solid var(--ta-border); }
.ta-docs-index-hero h1 { font-size:clamp(22px,3vw,30px); font-weight:800; font-family:var(--font-head); color:var(--ta-heading); margin-bottom:10px; display:flex; align-items:center; }
.ta-docs-index-hero p { font-size:15px; color:var(--ta-muted); line-height:1.7; max-width:580px; margin-bottom:20px; }
.ta-docs-start-link { display:inline-flex; align-items:center; gap:8px; background:var(--ta-primary); color:#fff; padding:10px 20px; border-radius:8px; font-size:13px; font-weight:600; text-decoration:none; transition:background .15s; }
.ta-docs-start-link:hover { background:var(--ta-primary-dark); color:#fff; }
.ta-docs-index-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; padding:28px 40px 40px; }
.ta-docs-index-card { display:flex; align-items:center; gap:14px; padding:16px 18px; border:1.5px solid var(--ta-border); border-radius:12px; text-decoration:none; background:#fff; transition:all .2s; }
.ta-docs-index-card:hover { border-color:var(--ta-primary); box-shadow:0 4px 16px rgba(30,68,150,.10); transform:translateY(-2px); }
.ta-docs-index-icon { width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }
.ta-docs-index-info { flex:1; min-width:0; }
.ta-docs-index-name { font-weight:700; font-size:13px; color:var(--ta-heading); font-family:var(--font-head); margin-bottom:2px; }
.ta-docs-index-count { font-size:11px; color:var(--ta-muted); }
.ta-docs-index-arrow { color:var(--ta-muted); font-size:11px; transition:transform .2s; }
.ta-docs-index-card:hover .ta-docs-index-arrow { transform:translateX(3px); color:var(--ta-primary); }
.ta-docs-article-wrap { display:flex; gap:0; }
.ta-docs-article { flex:1; min-width:0; padding:36px 40px 60px; max-width:800px; }
.ta-docs-breadcrumb { display:flex; align-items:center; gap:6px; font-size:12.5px; color:var(--ta-muted); margin-bottom:20px; flex-wrap:wrap; }
.ta-docs-breadcrumb a { color:var(--ta-muted); text-decoration:none; transition:color .15s; }
.ta-docs-breadcrumb a:hover { color:var(--ta-primary); }
.ta-docs-breadcrumb-sep { color:var(--ta-border); }
.ta-docs-article-title { font-size:clamp(22px,3vw,30px); font-weight:800; font-family:var(--font-head); color:var(--ta-heading); margin-bottom:24px; line-height:1.25; }
.ta-docs-pagination { display:flex; justify-content:space-between; margin-top:48px; padding-top:24px; border-top:1px solid var(--ta-border); gap:12px; }
.ta-docs-page-nav { display:flex; flex-direction:column; gap:4px; padding:14px 18px; border:1.5px solid var(--ta-border); border-radius:10px; max-width:220px; text-decoration:none; transition:border-color .15s; }
.ta-docs-page-nav:hover { border-color:var(--ta-primary); }
.ta-docs-page-next { align-items:flex-end; }
.ta-docs-page-label { font-size:11px; color:var(--ta-muted); }
.ta-docs-page-name { font-size:13.5px; font-weight:700; color:var(--ta-heading); font-family:var(--font-head); }
.ta-docs-toc-col { width:220px; flex-shrink:0; display:block; }
.ta-docs-toc-inner { position:sticky; top:80px; padding:28px 16px 28px 16px; border-left:1px solid var(--ta-border); max-height:calc(100vh - 100px); overflow-y:auto; }
.ta-docs-toc-title { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ta-muted); margin-bottom:12px; }
.ta-docs-toc-link { display:block; font-size:12.5px; color:var(--ta-muted); padding:4px 0 4px 12px; border-left:2px solid var(--ta-border); text-decoration:none; transition:.15s; margin-bottom:2px; line-height:1.4; }
.ta-docs-toc-link:hover, .ta-docs-toc-link.active { color:var(--ta-primary); border-left-color:var(--ta-primary); }
.ta-docs-toc-sub { padding-left:22px; font-size:12px; }
.ta-docs-toc-deep { padding-left:32px; font-size:11.5px; }
.ta-docs-toc-support { margin-top:24px; padding-top:16px; border-top:1px solid var(--ta-border); }
.ta-docs-toc-support a { font-size:13px; font-weight:600; color:var(--ta-primary); text-decoration:none; display:flex; align-items:center; gap:6px; }
.ta-docs-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:400px; text-align:center; padding:60px 24px; }
.ta-docs-empty-icon { font-size:48px; color:var(--ta-border); margin-bottom:16px; }
.ta-docs-empty h2 { font-size:22px; font-weight:700; color:var(--ta-heading); margin-bottom:10px; }
.ta-docs-empty p { font-size:15px; color:var(--ta-muted); margin-bottom:24px; }
@media(max-width:991px) { .ta-docs-toc-col { display:none !important; } }
@media(max-width:991px) {
  .ta-docs-sidebar-wrap { position:fixed; top:0; left:0; height:100vh; width:280px; z-index:200; transform:translateX(-100%); transition:transform .3s ease; box-shadow:none; }
  .ta-docs-sidebar-wrap.open { transform:translateX(0); box-shadow:4px 0 24px rgba(0,0,0,.15); }
  .ta-docs-close-btn { display:block; }
  .ta-docs-mobile-bar { display:flex; }
  .ta-docs-layout { flex-direction:column; }
  .ta-docs-article { padding:24px 20px 48px; }
  .ta-docs-index-hero { padding:32px 20px 20px; }
  .ta-docs-index-grid { padding:20px 20px 32px; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); }
}
@media(max-width:576px) {
  .ta-docs-index-grid { grid-template-columns:1fr; }
  .ta-docs-pagination { flex-direction:column; }
  .ta-docs-page-nav { max-width:100%; }
}

/* ===== Docs UI modern enhancements ===== */
.ta-docs-progress { position:fixed; top:0; left:0; height:3px; width:0; background:linear-gradient(90deg,var(--ta-primary),var(--ta-accent)); z-index:1040; transition:width .12s linear; box-shadow:0 0 8px rgba(30,68,150,.4); }
.ta-docs-index-hero { background:linear-gradient(135deg,var(--ta-primary-light) 0%,#fff 62%); position:relative; overflow:hidden; }
.ta-docs-index-hero::after { content:""; position:absolute; top:-70px; right:-70px; width:240px; height:240px; background:radial-gradient(circle,rgba(5,150,105,.12),transparent 70%); border-radius:50%; pointer-events:none; }
.ta-docs-index-hero > * { position:relative; z-index:1; }
.ta-docs-index-card:hover .ta-docs-index-icon { transform:scale(1.08) rotate(-3deg); transition:transform .2s; }
.ta-docs-breadcrumb { background:var(--ta-surface); border:1px solid var(--ta-border); padding:7px 14px; border-radius:999px; width:auto; display:inline-flex; }
.ta-docs-article-title { position:relative; padding-bottom:18px; }
.ta-docs-article-title::after { content:""; position:absolute; left:0; bottom:0; width:60px; height:4px; border-radius:4px; background:linear-gradient(90deg,var(--ta-primary),var(--ta-accent)); }
.ta-docs-toc-link.active { font-weight:600; }
/* modern prev / next cards */
.ta-docs-pagination { gap:16px; }
.ta-docs-page-nav { flex:1; max-width:none; flex-direction:row; align-items:center; gap:14px; padding:16px 18px; border-radius:14px; background:#fff; box-shadow:0 1px 3px rgba(15,23,42,.06); transition:transform .2s, box-shadow .2s, border-color .2s; }
.ta-docs-page-nav:hover { border-color:var(--ta-primary); box-shadow:0 10px 28px rgba(30,68,150,.13); transform:translateY(-2px); }
.ta-docs-page-arrow { width:38px; height:38px; flex-shrink:0; border-radius:10px; background:var(--ta-primary-light); color:var(--ta-primary); display:flex; align-items:center; justify-content:center; font-size:14px; transition:background .2s, color .2s; }
.ta-docs-page-nav:hover .ta-docs-page-arrow { background:var(--ta-primary); color:#fff; }
.ta-docs-page-text { display:flex; flex-direction:column; gap:3px; min-width:0; }
.ta-docs-page-next { text-align:right; }
.ta-docs-page-next .ta-docs-page-text { align-items:flex-end; }
.ta-docs-page-name { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
@media(max-width:576px) {
  .ta-docs-page-next { text-align:left; }
  .ta-docs-page-next .ta-docs-page-text { align-items:flex-start; }
}
/* article meta (reading time) */
.ta-docs-meta { display:flex; align-items:center; gap:16px; margin:-12px 0 26px; font-size:13px; color:var(--ta-muted); }
.ta-docs-meta-item { display:inline-flex; align-items:center; gap:6px; }
.ta-docs-meta-item i { font-size:12px; color:var(--ta-primary); }
/* back-to-top */
.ta-docs-totop { position:fixed; bottom:28px; right:28px; width:44px; height:44px; border-radius:50%; border:none; background:var(--ta-primary); color:#fff; font-size:15px; cursor:pointer; box-shadow:0 6px 20px rgba(30,68,150,.35); opacity:0; visibility:hidden; transform:translateY(12px); transition:opacity .2s, transform .2s, background .2s; z-index:1035; }
.ta-docs-totop.show { opacity:1; visibility:visible; transform:translateY(0); }
.ta-docs-totop:hover { background:var(--ta-primary-dark); transform:translateY(-2px); }
@media(max-width:576px) { .ta-docs-totop { bottom:18px; right:18px; width:40px; height:40px; } }

/* ===== GitBook / Supademo-inspired refresh ===== */
/* Inter typography across the docs (already loaded by the theme header) */
.ta-docs-layout, .ta-docs-mobile-bar { font-family:'Inter','Open Sans',system-ui,sans-serif; }
.ta-docs-article-title, .ta-docs-index-hero h1, .ta-docs-index-name, .ta-docs-page-name,
.ta-docs-sidebar-title, .ta-docs-toc-title,
.ta-docs-content h1, .ta-docs-content h2, .ta-docs-content h3, .ta-docs-content h4, .ta-docs-content h5, .ta-docs-content h6 { font-family:'Inter', system-ui, sans-serif; }

/* roomier, centred reading column */
.ta-docs-article { padding:48px 56px 80px; max-width:820px; }
.ta-docs-article-title { font-size:clamp(28px,3.4vw,38px); letter-spacing:-0.02em; line-height:1.18; margin-bottom:20px; }
.ta-docs-content p, .ta-docs-content ul li, .ta-docs-content ol li { font-size:16px; line-height:1.8; }
.ta-docs-content h5 { font-size:19px; margin-top:42px; letter-spacing:-0.01em; }
.ta-docs-content h2 { font-size:23px; letter-spacing:-0.01em; }
.ta-docs-content h3 { font-size:18px; }

/* airier sidebar with GitBook-style nav */
.ta-docs-sidebar-wrap { width:286px; background:var(--ta-surface); border-right:1px solid var(--ta-border); }
.ta-docs-nav { padding:4px 12px 24px; }
.ta-docs-nav-group-btn { font-size:14px; padding:9px 12px; }
.ta-docs-nav-link { font-size:14px; padding:8px 12px; color:var(--ta-muted); }
.ta-docs-nav-link:hover { color:var(--ta-heading); }
.ta-docs-nav-link.active { background:#fff; color:var(--ta-primary); font-weight:600; box-shadow:0 1px 3px rgba(15,23,42,.08); }
.ta-docs-nav-children { border-left:1px solid var(--ta-border); padding-left:10px; margin-left:10px; }

/* prominent search with keyboard hint */
.ta-docs-search-wrap { padding:14px 12px; border-bottom:1px solid var(--ta-border); }
.ta-docs-search { background:#fff; border-radius:10px; padding-right:8px; box-shadow:0 1px 2px rgba(15,23,42,.05); }
.ta-docs-search-kbd { font-family:'Inter',sans-serif; font-size:11px; font-weight:600; color:var(--ta-muted); background:var(--ta-surface); border:1px solid var(--ta-border); border-radius:6px; padding:2px 7px; line-height:1.4; flex-shrink:0; }
.ta-docs-search:focus-within .ta-docs-search-kbd { display:none; }

/* on this page — tighter, GitBook feel */
.ta-docs-toc-inner { padding:36px 16px 28px 22px; border-left:1px solid var(--ta-border); }
.ta-docs-toc-link { font-size:13px; padding:5px 0 5px 14px; }

/* index landing — cleaner cards */
.ta-docs-index-hero h1 { letter-spacing:-0.02em; }
.ta-docs-index-card { border-radius:14px; padding:18px 20px; }
.ta-docs-index-icon { width:42px; height:42px; border-radius:12px; font-size:17px; }
.ta-docs-index-name { font-size:14px; letter-spacing:-0.01em; }

/* module landing page: child-page grid */
.ta-docs-section-label { font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ta-muted); margin:38px 0 16px; padding-top:24px; border-top:1px solid var(--ta-border); }
.ta-docs-childgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; }
.ta-docs-childgrid .ta-docs-index-count { white-space:normal; line-height:1.55; }
.ta-docs-childgrid .ta-docs-index-icon i { font-size:16px; }

/* ── MODULE FEATURE PAGES ─────────────────────────────────────── */
.mod-page-hero { padding:72px 0; background:linear-gradient(135deg,var(--ta-primary-light) 0%,var(--ta-surface) 100%); border-bottom:1px solid var(--ta-border); }
.mod-tx-video { border-radius:14px; box-shadow:0 20px 60px rgba(0,0,0,.12); width:100%; }
.mod-tx-carousel-sub { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ta-primary); margin-bottom:10px; }
.mod-tx-carousel-title { font-family:var(--font-head); font-size:clamp(24px,3.2vw,36px); font-weight:800; color:var(--ta-heading); margin-bottom:14px; line-height:1.2; }
.mod-tx-carousel-desc { font-size:15px; color:var(--ta-body); line-height:1.75; }
.mod-tx-carousel-dots { display:flex; gap:6px; margin-top:24px; list-style:none; padding:0; }
.mod-tx-carousel-dots button { width:8px; height:8px; border-radius:50%; background:var(--ta-border); border:none; padding:0; cursor:pointer; transition:background .2s,width .2s; }
.mod-tx-carousel-dots button.active { background:var(--ta-primary); width:22px; border-radius:4px; }

/* Transaction flow strip */
.tx-flow-strip { padding:40px 0; background:var(--ta-surface); border-bottom:1px solid var(--ta-border); }
.tx-flow-item { display:flex; flex-direction:column; align-items:center; gap:10px; }
.tx-flow-icon { width:52px; height:52px; border-radius:14px; background:var(--ta-primary-light); color:var(--ta-primary); display:flex; align-items:center; justify-content:center; font-size:20px; }
.tx-flow-label { font-size:12px; font-weight:700; color:var(--ta-heading); text-align:center; }
.tx-flow-arrow { color:var(--ta-border); font-size:18px; display:flex; align-items:center; justify-content:center; padding-top:12px; }
@media(max-width:767px) { .tx-flow-arrow { display:none; } }

/* Screenshot/video sections */
.mod-tx-section { padding:72px 0; border-bottom:1px solid var(--ta-border); }
.mod-tx-section.alt { background:var(--ta-surface); }
.mod-tx-section img { border-radius:12px; box-shadow:0 12px 40px rgba(0,0,0,.10); width:100%; display:block; }
.mod-tx-section video { border-radius:12px; box-shadow:0 12px 40px rgba(0,0,0,.10); width:100%; display:block; }
.mod-tx-step { display:inline-flex; align-items:center; gap:8px; background:var(--ta-primary-light); color:var(--ta-primary); border-radius:20px; padding:5px 14px; font-size:11.5px; font-weight:700; letter-spacing:.06em; margin-bottom:14px; }
.mod-tx-content h3 { font-family:var(--font-head); font-size:22px; font-weight:700; color:var(--ta-heading); margin-bottom:12px; }
.mod-tx-content p { font-size:15px; color:var(--ta-body); line-height:1.75; margin-bottom:10px; }
.mod-tx-content ul { padding-left:0; list-style:none; margin-top:10px; }
.mod-tx-content ul li { font-size:15px; color:var(--ta-body); padding:5px 0 5px 22px; position:relative; line-height:1.5; }
.mod-tx-content ul li::before { content:"→"; position:absolute; left:0; color:var(--ta-primary); font-weight:700; }

/* Extra features grid (replaces kv-box-2) */
.ta-extras-section { padding:72px 0; background:var(--ta-surface); border-bottom:1px solid var(--ta-border); }
.ta-extra-card { background:#fff; border:1px solid var(--ta-border); border-radius:14px; padding:24px; height:100%; transition:box-shadow .2s,transform .2s; }
.ta-extra-card:hover { box-shadow:0 8px 32px rgba(30,68,150,.10); transform:translateY(-3px); }
.ta-extra-icon { width:44px; height:44px; border-radius:12px; background:var(--ta-primary-light); color:var(--ta-primary); display:flex; align-items:center; justify-content:center; font-size:18px; margin-bottom:14px; flex-shrink:0; }
.ta-extra-card h4 { font-family:var(--font-head); font-size:15px; font-weight:700; color:var(--ta-heading); margin-bottom:8px; }
.ta-extra-card p { font-size:13px; color:var(--ta-muted); line-height:1.65; margin:0; }

/* Bottom highlight strip (replaces kv-box-3) */
.ta-highlight-strip { padding:56px 0; border-bottom:1px solid var(--ta-border); }
.ta-highlight-card { display:flex; gap:18px; align-items:flex-start; padding:28px; border-radius:14px; border:1px solid var(--ta-border); height:100%; background:#fff; transition:box-shadow .2s; }
.ta-highlight-card:hover { box-shadow:0 8px 28px rgba(30,68,150,.08); }
.ta-highlight-icon { width:48px; height:48px; border-radius:12px; background:var(--ta-primary); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
.ta-highlight-card h3 { font-size:16px; font-weight:700; color:var(--ta-heading); margin-bottom:6px; font-family:var(--font-head); }
.ta-highlight-card p { font-size:13px; color:var(--ta-muted); line-height:1.65; margin:0; }
@media(max-width:576px) {
  .mod-page-hero { padding:48px 0; }
  .mod-tx-section { padding:48px 0; }
  .ta-extras-section, .ta-highlight-strip { padding:48px 0; }
}

/* Screenshot placeholder */
.mod-tx-placeholder { background:var(--ta-surface); border:2px dashed var(--ta-border); border-radius:12px; min-height:320px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; color:var(--ta-muted); width:100%; }
.mod-tx-placeholder i { font-size:44px; opacity:.3; }
.mod-tx-placeholder span { font-size:13px; font-weight:600; opacity:.6; }
.mod-tx-placeholder small { font-size:11px; opacity:.4; }
