  :root {
    --blue: #e8752c;
    --blue-light: #f4a15f;
    --blue-mid: #e8752c;
    --indigo: #c9601f;
    --purple: #8a7bd8;
    --purple-light: #ab9ff0;
    --dark: #0a0906;
    --dark2: #14110c;
    --dark3: #1c1710;
    --dark4: #262015;
    --text: #f1ede6;
    --text-muted: #b3aa9a;
    --text-dim: #756c5c;
    --green: #7fae5c;
    --yellow: #e0ab52;
    --red: #d97757;
    --card: rgba(255,247,235,0.045);
    --card-border: rgba(255,247,235,0.1);
    --font-serif: 'Fraunces', serif;
    --font-sans: 'Inter', sans-serif;
  }

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

  html { scroll-behavior:smooth; }

  body {
    font-family: var(--font-sans);
    background: var(--dark);
    color: var(--text);
    line-height: 1.6;
    overflow-x: hidden;
  }

  #particles-canvas { display:none; }

  #spotlight { display:none; }

  #progress-bar {
    position: fixed; top:0; left:0; height:2px; width:0%;
    background: var(--blue); z-index: 999; transition: width .1s linear;
  }

  /* ---------- SWITCHER ---------- */
  .product-switch {
    display:flex; align-items:center; justify-content:center; gap:18px;
    background: var(--dark2); border-bottom:1px solid var(--card-border);
    position: sticky; top:0; z-index: 70; padding:0 20px;
  }
  .product-switch .ps-brand {
    font-family: var(--font-serif); font-weight:700; font-size:15px; color: var(--text);
    margin-right:auto; white-space:nowrap;
  }
  .product-switch .ps-tabs { display:flex; gap:4px; }
  .product-switch a {
    padding:14px 24px; font-size:13.5px; font-weight:700; letter-spacing:.03em;
    text-transform:uppercase; text-decoration:none; color:var(--text-dim);
    border-bottom:3px solid transparent; border-radius:8px 8px 0 0;
    transition: transform .12s ease, color .15s ease, background .15s ease;
  }
  .product-switch a:hover { color: var(--text-muted); background: rgba(255,247,235,.03); }
  .product-switch a:active { transform: scale(.97); }
  .product-switch a.active { color: var(--text); border-bottom-color: var(--blue); background: rgba(232,117,44,.08); }
  .product-switch .ps-spacer { margin-left:auto; width:1px; }
  @media (max-width:640px) {
    .product-switch { justify-content:space-between; }
    .product-switch .ps-brand { font-size:13px; }
    .product-switch a { padding:12px 14px; font-size:12px; }
  }

  /* ---------- NAV ---------- */
  nav {
    display:flex; align-items:center; justify-content:space-between;
    padding: 22px 48px; position: relative; z-index: 50;
  }
  .nav-logo { font-family: var(--font-serif); font-weight:700; font-size:19px; letter-spacing:-.01em; }
  .nav-links { display:flex; gap:28px; }
  .nav-links a { color: var(--text-muted); text-decoration:none; font-size:14px; }
  .nav-links a:hover { color: var(--text); }
  .lang-switch { display:flex; gap:6px; }
  .lang-btn {
    background:transparent; border:1px solid var(--card-border); color:var(--text-dim);
    padding:5px 12px; border-radius:99px; font-size:12px; font-weight:600; cursor:pointer;
  }
  .lang-btn.active { color: var(--dark); background: var(--text); border-color: var(--text); }

  /* ---------- HERO ---------- */
  .hero {
    padding: 60px 0 90px; position: relative; overflow:hidden; width:100%;
  }
  .hero-inner { max-width: 1520px; margin: 0 auto; padding: 0 48px; position:relative; z-index:1; }
  .hero-aurora { position:absolute; inset:0; z-index:-1; pointer-events:none; }
  .aurora-blob { display:none; }
  .hero-orb {
    position:absolute; top:-140px; right:-160px; width:780px; height:780px; border-radius:50%;
    background: radial-gradient(circle at 38% 35%, #ffb15e 0%, #e8752c 26%, #8a3a12 50%, rgba(138,58,18,0) 72%);
    opacity:.8; z-index:-1; pointer-events:none;
    animation: orb-breathe 7s ease-in-out infinite;
    transform: translate(calc(var(--mx,0) * 1px), calc(var(--my,0) * 1px));
    transition: transform .4s ease-out;
    will-change: transform;
  }
  @keyframes orb-breathe {
    0%, 100% { transform: translate(calc(var(--mx,0) * 1px), calc(var(--my,0) * 1px)) scale(1); opacity:.8; }
    50% { transform: translate(calc(var(--mx,0) * 1px), calc(var(--my,0) * 1px)) scale(1.05); opacity:.92; }
  }
  @media (prefers-reduced-motion: reduce) {
    .hero::before { animation:none; }
  }
  .float-badge { margin-bottom:26px; }
  .hero-eyebrow {
    display:inline-flex; align-items:center; gap:9px; font-size:13px; letter-spacing:.06em;
    text-transform:uppercase; color:#e8b98a; border:1px solid rgba(232,185,138,.35);
    padding:7px 16px; border-radius:99px;
  }
  .eyebrow-dot { width:6px; height:6px; border-radius:50%; background:#e8752c; }
  h1 {
    font-family: var(--font-serif); font-weight:600; font-size: clamp(2.4rem,5.5vw,4.6rem);
    line-height:1.05; letter-spacing:-.01em; max-width:840px; margin-bottom:26px;
  }
  h1 .hl, h2 .hl {
    font-style:italic; font-weight:500; color: var(--blue-light);
  }
  .hero-sub { font-size:18px; color: var(--text-muted); max-width:560px; margin-bottom:40px; line-height:1.65; }
  .hero-cta { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:64px; }
  .btn-primary, .btn-secondary {
    display:inline-block; padding:15px 28px; border-radius:8px; font-weight:600; font-size:15px; text-decoration:none;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .btn-primary { background: var(--text); color: var(--dark); }
  .btn-secondary { background:transparent; color: var(--text); border:1px solid var(--card-border); }
  .btn-primary:hover, .btn-secondary:hover { transform: translateY(-2px); }
  .btn-primary:active, .btn-secondary:active { transform: scale(.96); }
  .hero-stats { display:flex; gap:40px; flex-wrap:wrap; padding-top:32px; border-top:1px solid var(--card-border); }
  .hero-stat { display:flex; flex-direction:column; gap:4px; }
  .hero-stat .num { font-family: var(--font-serif); font-size:26px; font-weight:700; }
  .hero-stat .label { font-size:12px; color: var(--text-dim); text-transform:uppercase; letter-spacing:.04em; }

  .section-divider { height:1px; background: var(--card-border); max-width:1520px; margin:0 auto; }

  section { max-width:1520px; margin:0 auto; padding:88px 48px; }

  .section-header { max-width:680px; margin-bottom:48px; }
  .section-tag { font-size:13px; letter-spacing:.08em; text-transform:uppercase; color: var(--blue-light); margin-bottom:14px; font-weight:700; }
  h2 { font-family: var(--font-serif); font-weight:600; font-size: clamp(1.8rem,3.2vw,2.6rem); margin-bottom:14px; letter-spacing:-.01em; }
  section > .section-header p, .section-header p { color: var(--text-muted); font-size:16px; }

  /* ---------- SCROLL REVEAL ---------- */
  .fade-in.will-animate {
    opacity:0; transform: translateY(24px);
    transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1), box-shadow .6s ease;
  }
  .fade-in.will-animate.visible {
    opacity:1; transform:none;
    box-shadow: 0 0 0 1px rgba(232,117,44,.35);
    animation: edge-glow-fade 1.1s ease forwards;
  }
  @keyframes edge-glow-fade {
    0% { box-shadow: 0 0 0 1px rgba(232,117,44,.55), 0 0 18px rgba(232,117,44,.25); }
    100% { box-shadow: 0 0 0 1px rgba(232,117,44,0), 0 0 0 rgba(232,117,44,0); }
  }
  .fade-in.delay-1 { transition-delay:.08s; }
  .fade-in.delay-2 { transition-delay:.16s; }
  .fade-in.delay-3 { transition-delay:.28s; }
  @media (prefers-reduced-motion: reduce) {
    .fade-in.will-animate, .fade-in.will-animate.visible { transition:none; animation:none; opacity:1; transform:none; }
  }

  /* generic card */
  .problem-card, .feature-card, .security-card, .inc-card, .stats-demo, .cost-box, .price-card, .mc3-card {
    background: var(--card); border:1px solid var(--card-border); border-radius:18px;
    transition: transform .18s cubic-bezier(.2,.8,.3,1.1), box-shadow .18s ease, border-color .18s ease;
  }
  .problem-card:hover, .feature-card:hover, .security-card:hover, .inc-card:hover, .mc3-card:hover {
    transform: translateY(-3px); border-color: rgba(232,117,44,.3);
  }
  .price-card:hover { transform: translateY(-4px); border-color: rgba(232,117,44,.4); }
  .price-card:active { transform: translateY(-1px) scale(.99); }

  /* ---------- PROBLEM ---------- */
  .problem-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .problem-card { padding:28px; }
  .problem-icon { font-size:26px; display:block; margin-bottom:16px; }
  .problem-card h3 { font-size:17px; font-weight:600; margin-bottom:8px; font-family: var(--font-sans); }
  .problem-card p { font-size:14px; color: var(--text-muted); line-height:1.6; }

  /* ---------- FEATURES ---------- */
  .features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .feature-card { padding:28px; position:relative; }
  .card-glow { display:none; }
  .feature-icon { width:40px; height:40px; margin-bottom:16px; }
  .feature-icon svg { width:22px; height:22px; }
  .feature-card h3 { font-size:16px; font-weight:600; margin-bottom:8px; }
  .feature-card p { font-size:14px; color: var(--text-muted); line-height:1.6; }

  /* ---------- DIALOG DEMO ---------- */
  .dialog-wrap { background: var(--dark2); border:1px solid var(--card-border); border-radius:20px; padding:28px; max-width:720px; }
  .dialog-header { display:flex; align-items:center; gap:12px; margin-bottom:20px; padding-bottom:18px; border-bottom:1px solid var(--card-border); }
  .dialog-avatar { width:38px; height:38px; border-radius:50%; background: var(--dark3); display:flex; align-items:center; justify-content:center; font-size:18px; }
  .dialog-name { font-weight:600; font-size:14px; }
  .dialog-status { font-size:12px; color: var(--green); }
  .msg { margin-bottom:16px; }
  .msg-label { font-size:11px; text-transform:uppercase; letter-spacing:.05em; color: var(--text-dim); margin-bottom:5px; }
  .msg-bot .msg-label { color:#8fbf9a; }
  .bubble { padding:13px 16px; border-radius:14px; font-size:14px; line-height:1.55; max-width:88%; }
  .bubble-client { background: var(--dark3); margin-left:auto; border-bottom-right-radius:4px; }
  .bubble-bot { background: rgba(127,174,92,.12); border:1px solid rgba(127,174,92,.2); border-bottom-left-radius:4px; }

  /* ---------- TELEGRAM-STYLE INLINE KEYBOARD DEMO ---------- */
  .tg-note { font-size:12px; color: var(--text-dim); margin-bottom:18px; display:flex; align-items:center; gap:6px; }
  .tg-kb { display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 20px 0; }
  .tg-kb-btn {
    background: var(--dark3); border:1px solid var(--card-border); color: var(--text-muted);
    padding:9px 14px; border-radius:10px; font-size:13px; cursor:default;
    transition: transform .12s ease;
  }
  .tg-kb-btn.picked {
    background: rgba(232,117,44,.14); border-color: rgba(232,117,44,.5); color: var(--text);
    font-weight:600; transform: scale(1.04);
  }

  /* ---------- HOW / STEPS ---------- */
  .two-col { display:grid; grid-template-columns:1.1fr .9fr; gap:48px; }
  .steps { display:flex; flex-direction:column; }
  .step { display:flex; gap:18px; padding-bottom:28px; }
  .step-num {
    width:32px; height:32px; min-width:32px; border-radius:50%; background: var(--dark3);
    display:flex; align-items:center; justify-content:center; font-family:var(--font-serif); font-weight:700; font-size:14px;
  }
  .step-content h3 { font-size:15px; font-weight:600; margin-bottom:6px; }
  .step-content p { font-size:14px; color: var(--text-muted); }
  .highlight { background: var(--card); border:1px solid var(--card-border); border-radius:16px; padding:22px; font-size:14px; color: var(--text-muted); line-height:1.7; }
  .highlight strong { color: var(--text); }

  /* ---------- STATS DEMO ---------- */
  .stats-demo { padding:26px; }
  .s-title { font-weight:600; font-size:14px; margin-bottom:14px; }
  .s-row { display:flex; justify-content:space-between; padding:8px 0; font-size:14px; }
  .s-label { color: var(--text-muted); }
  .s-val { font-weight:600; }
  .s-green { color: var(--green); }
  .s-divider { border:none; border-top:1px solid var(--card-border); margin:14px 0; }
  .s-list { list-style:none; }
  .s-list li { display:flex; justify-content:space-between; padding:6px 0; font-size:14px; color: var(--text-muted); }
  .s-num { color: var(--text); font-weight:600; }

  /* ---------- SECURITY ---------- */
  .security-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  .security-card { padding:24px; }
  .sec-icon { font-size:22px; display:block; margin-bottom:14px; }
  .security-card h3 { font-size:14.5px; font-weight:600; margin-bottom:7px; }
  .security-card p { font-size:13px; color: var(--text-muted); line-height:1.55; }

  /* ---------- PRICING: 3-model compare ---------- */
  .model-compare-wrap { margin-bottom:70px; }
  .mc3-header { font-family: var(--font-serif); font-size:22px; font-weight:600; margin-bottom:28px; text-align:center; }
  .mc3-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .mc3-card { padding:28px; display:flex; flex-direction:column; }
  .mc3-buy { border-color: rgba(138,123,216,.4); box-shadow:0 0 0 1px rgba(138,123,216,.15) inset; }
  .mc3-ent { border-color: rgba(224,171,82,.35); }
  .mc3-badge {
    display:inline-block; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.03em;
    padding:5px 12px; border-radius:99px; background: var(--dark3); color: var(--text-muted); margin-bottom:16px; width:fit-content;
  }
  .mc3-badge-purple { background: rgba(138,123,216,.18); color:#c3b8f0; }
  .mc3-badge-gold { background: rgba(224,171,82,.18); color:#f0cf8f; }
  .mc3-icon-row { font-size:22px; margin-bottom:10px; }
  .mc3-title { font-family: var(--font-serif); font-size:20px; font-weight:600; margin-bottom:6px; }
  .mc3-price-line { font-size:14px; color: var(--text-muted); margin-bottom:18px; }
  .mc3-divider { border-top:1px solid var(--card-border); margin-bottom:16px; }
  .mc3-list { list-style:none; margin-bottom:18px; flex:1; }
  .mc3-yes { font-size:13.5px; color: var(--text-muted); padding:5px 0 5px 20px; position:relative; line-height:1.5; }
  .mc3-yes::before { content:'✓'; position:absolute; left:0; color: var(--green); }
  .mc3-stop-block { border-radius:12px; padding:14px; margin-bottom:14px; font-size:12.5px; }
  .mc3-stop-red { background: rgba(217,119,87,.1); border:1px solid rgba(217,119,87,.25); }
  .mc3-stop-orange { background: rgba(224,171,82,.1); border:1px solid rgba(224,171,82,.25); }
  .mc3-stop-green { background: rgba(127,174,92,.1); border:1px solid rgba(127,174,92,.25); }
  .mc3-stop-title { font-weight:600; margin-bottom:4px; }
  .mc3-stop-text { color: var(--text-muted); line-height:1.5; }
  .mc3-who { font-size:12.5px; color: var(--text-dim); }
  .mc3-nda-note { display:flex; gap:8px; font-size:12px; color: var(--text-muted); margin-bottom:14px; background: var(--dark3); padding:12px; border-radius:10px; }

  .mc3-table-wrap { margin-top:2.5rem; }
  .mc3-table { width:100%; border-collapse:collapse; font-size:13.5px; }
  .mc3-table th, .mc3-table td { padding:12px 14px; text-align:left; border-bottom:1px solid var(--card-border); }
  .mc3-table th { color: var(--text-dim); font-weight:600; font-size:12px; text-transform:uppercase; letter-spacing:.03em; }
  .mc3-th-ent { color:#f0cf8f; }
  .tbl-yes { color: var(--green); font-weight:600; }
  .tbl-no { color: var(--text-dim); }

  /* ---------- MODEL TOGGLE ---------- */
  .model-toggle-wrap { display:flex; justify-content:center; margin:60px 0 32px; text-align:center; }
  .model-toggle { display:inline-flex; gap:6px; background: var(--dark2); padding:6px; border-radius:99px; border:1px solid var(--card-border); }
  .model-btn { background:transparent; border:none; color: var(--text-muted); padding:10px 22px; border-radius:99px; font-size:14px; font-weight:600; cursor:pointer; }
  .model-btn.active { background: var(--text); color: var(--dark); }
  .model-desc-wrap { max-width:560px; margin:16px auto 0; font-size:14px; color: var(--text-muted); text-align:center; }

  .plans-wrap { display:none; }
  .plans-wrap.visible { display:block; }
  .model-label { font-family: var(--font-serif); font-size:20px; font-weight:600; margin-bottom:20px; }
  .saas-info { display:flex; gap:10px; background: var(--card); border:1px solid var(--card-border); border-radius:14px; padding:16px 18px; font-size:13.5px; color: var(--text-muted); margin-bottom:24px; }
  .saas-info strong { color: var(--text); }

  .pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
  .pricing-grid.single-card { grid-template-columns:1fr; max-width:820px; margin:0 auto; }
  .pricing-grid.single-card { display:flex; gap:20px; align-items:stretch; }
  .price-card { padding:28px; position:relative; cursor:pointer; display:flex; flex-direction:column; }
  .price-features { flex:1; }
  .price-note-pair { flex:1; background:var(--card); border:1px solid var(--card-border); border-radius:18px; padding:28px; display:flex; flex-direction:column; justify-content:center; gap:12px; }
  .price-note-pair h4 { font-family:var(--font-serif); font-size:18px; font-weight:600; }
  .price-note-pair p { font-size:14px; color:var(--text-muted); line-height:1.6; }
  .price-note-pair a { color:var(--blue-light); font-weight:600; text-decoration:none; }
  .price-card.pc-business { border-color: rgba(232,117,44,.4); box-shadow:0 0 0 1px rgba(232,117,44,.15) inset; }
  .featured-badge {
    position:absolute; top:-13px; left:24px; background: var(--blue); color: var(--dark);
    font-size:11px; font-weight:700; padding:4px 12px; border-radius:99px;
  }
  .price-name { font-size:15px; color: var(--text-muted); margin-bottom:10px; }
  .price-amount { font-family: var(--font-serif); font-size:2.4rem; font-weight:700; margin-bottom:6px; }
  .price-amount sup { font-size:1.2rem; }
  .price-period { font-size:13px; color: var(--text-dim); margin-bottom:20px; }
  .price-features { list-style:none; margin-bottom:22px; }
  .price-features li { font-size:13.5px; color: var(--text-muted); padding:6px 0; display:flex; gap:8px; }
  .check { color: var(--green); }
  .dash-feat { color: var(--text-dim); }
  .price-btn { display:block; text-align:center; background: var(--dark3); color: var(--text); padding:13px; border-radius:8px; text-decoration:none; font-weight:600; font-size:14px; margin-bottom:14px; transition: transform .15s ease; }
  .price-btn:active { transform: scale(.96); }
  .pc-business .price-btn { background: var(--blue); color: var(--dark); }
  .price-note { font-size:12px; color: var(--text-dim); line-height:1.5; }
  .ent-nda-note { font-size:12px; color: var(--text-muted); background: var(--dark3); padding:10px 12px; border-radius:8px; margin-bottom:14px; }

  .included-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .inc-card { padding:22px; }
  .inc-icon { font-size:22px; display:block; margin-bottom:12px; }
  .inc-card h4 { font-size:14.5px; font-weight:600; margin-bottom:6px; }
  .inc-card p { font-size:13px; color: var(--text-muted); line-height:1.55; }

  .cost-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:24px; }
  .cost-box { padding:26px; }
  .cost-header { display:flex; align-items:center; gap:10px; margin-bottom:18px; }
  .cost-header h3 { font-size:15px; font-weight:600; }
  .cost-row { display:flex; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid var(--card-border); }
  .cost-dot { width:8px; height:8px; border-radius:50%; }
  .cost-row-name { font-size:13.5px; font-weight:500; }
  .cost-row-desc { font-size:12px; color: var(--text-dim); }
  .cost-row-val { font-size:13px; color: var(--text-muted); font-weight:600; }
  .cost-footer { display:flex; justify-content:space-between; padding-top:14px; font-weight:600; }
  .cost-footer-val { color: var(--blue); }
  .roi-box { display:flex; gap:16px; align-items:center; background: var(--card); border:1px solid var(--card-border); border-radius:16px; padding:22px; }

  .compare-wrap { overflow-x:auto; }
  .compare-table { width:100%; border-collapse:collapse; font-size:14px; }
  .compare-table th, .compare-table td { padding:14px; text-align:left; border-bottom:1px solid var(--card-border); }
  .compare-table th { color: var(--text-dim); font-size:12px; text-transform:uppercase; letter-spacing:.03em; }
  .col-hl { background: rgba(232,117,44,.06); }

  /* ---------- CONTACT ---------- */
  .contact-box { text-align:center; max-width:640px; margin:0 auto; }
  .contact-box h2 { font-size: clamp(1.8rem,3.5vw,2.6rem); }
  .contact-box p { color: var(--text-muted); margin-bottom:32px; }
  .contact-links { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }
  .contact-link { display:flex; align-items:center; gap:8px; background: var(--card); border:1px solid var(--card-border); padding:12px 18px; border-radius:10px; text-decoration:none; color: var(--text); font-size:14px; transition: transform .15s ease, border-color .15s ease; }
  .contact-link:hover { transform: translateY(-2px); border-color: rgba(232,117,44,.35); }
  .contact-link:active { transform: scale(.96); }

  /* ---------- FAQ ---------- */
  .faq-list { display:flex; flex-direction:column; gap:10px; }
  .faq-item { background: var(--card); border:1px solid var(--card-border); border-radius:14px; overflow:hidden; transition: border-color .18s ease; }
  .faq-item:hover { border-color: rgba(232,117,44,.3); }
  .faq-q { display:flex; justify-content:space-between; align-items:center; padding:18px 22px; cursor:pointer; font-size:15px; font-weight:500; transition: transform .1s ease; }
  .faq-q:active { transform: scale(.99); }
  .faq-arrow { transition:transform .2s; color: var(--text-dim); }
  .faq-item.open .faq-arrow { transform:rotate(180deg); }
  .faq-a { max-height:0; overflow:hidden; padding:0 22px; font-size:14px; color: var(--text-muted); line-height:1.6; transition:max-height .25s ease, padding-bottom .25s ease; }

  footer { text-align:center; padding:40px 48px; color: var(--text-dim); font-size:13px; border-top:1px solid var(--card-border); }

  .fade-in { opacity:1; }

  @media (max-width: 900px) {
    nav { padding:18px 24px; flex-wrap:wrap; gap:14px; }
    .hero { padding:40px 24px 60px; }
    section { padding:56px 24px; }
    .problem-grid, .features-grid, .security-grid, .mc3-grid, .pricing-grid, .included-grid { grid-template-columns:1fr; }
    .two-col { grid-template-columns:1fr; }
    .cost-grid { grid-template-columns:1fr; }
    .nav-links { display:none; }
  }
