:root{
  --ts-accent:#1e73be; --ts-contrast:#2b2b2b; --ts-contrast-2:#5b5b5b;
  --ts-bg:#fff; --ts-cta:#d61818; --ts-radius:18px; --ts-shadow:0 12px 30px rgba(0,0,0,.08); --ts-card-border:#ececec;
}
/* Isolation */ 
.ts-ai-wrap{ all: revert; font: inherit; color: inherit; max-width:1200px; margin:28px auto; padding:22px; }
.ts-ai-wrap, .ts-ai-wrap *{ font-weight: initial; }
.ts-ai-wrap strong, .ts-ai-wrap b{ font-weight:600 !important; }

/* Hero */
.ts-ai-hero{ display:grid; grid-template-columns:1fr 540px; gap:30px; align-items:center; background:linear-gradient(180deg,#fff,#fafafa); border-radius:var(--ts-radius); padding:34px; box-shadow:var(--ts-shadow); }
.ts-ai-hero .left h1{ margin:0 0 12px; font-weight:700; font-size:clamp(28px,3.8vw,44px); line-height:1.2; color:#d61818; }
.ts-ai-hero .left p.lead{ margin:0 0 18px; color:var(--ts-contrast-2); font-weight:400; font-size:clamp(15px,1.4vw,18px); }
.ts-ai-hero .badges{ display:flex; gap:10px; margin-top:12px; flex-wrap:wrap; }
.ts-ai-hero .badge{ background:#fff; border:1px solid var(--ts-card-border); padding:8px 12px; border-radius:999px; font-weight:600; font-size:13px; color:var(--ts-contrast-2); }
.ts-cta-row{ margin-top:18px; display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.ts-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 18px; border-radius:999px; text-decoration:none !important; font-weight:700; cursor:pointer; border:1px solid transparent; transition:transform .12s ease, box-shadow .12s ease; }
.ts-btn--primary{ background:var(--ts-cta); color:#fff; }
.ts-btn--ghost{ background:#fff; color:var(--ts-cta); border-color:var(--ts-cta); }
.ts-btn:hover{ transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,.12); }
.ts-btn--ghost:hover{ background:#fff; opacity:.95; }
.ts-ai-hero .right img{ width:100%; height:auto; border-radius:12px; display:block; border:1px solid var(--ts-card-border); box-shadow:0 6px 22px rgba(0,0,0,.06); }

/* Sections */ 
.ts-section{ margin-top:26px; background:var(--ts-bg); border-radius:var(--ts-radius); box-shadow:var(--ts-shadow); padding:26px; }
.ts-section h2{ margin-top:0; font-size:clamp(20px,2.2vw,30px); color:var(--ts-contrast); font-weight:700; }
.ts-grid{ display:grid; gap:16px; }
.ts-grid--3{ grid-template-columns:repeat(3,1fr); }
.ts-card{ border:1px solid var(--ts-card-border); border-radius:14px; padding:18px; background:#fff; min-height:130px; box-shadow:0 6px 18px rgba(0,0,0,.04); }
.ts-card h3{ margin:0 0 8px; font-size:18px; font-weight:600; color:var(--ts-contrast); }
.ts-card p{ color:var(--ts-contrast-2); margin:0; }

/* Two-col */ 
.ts-two-col{ display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:center; }

/* Chat */ 
.ts-chat{ border:1px solid var(--ts-card-border); border-radius:22px; overflow:hidden; display:flex; flex-direction:column; height:560px; background:#fff; }
.ts-chat__header{ padding:14px 16px; background:var(--ts-cta); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:space-between; }
.ts-chat__history{ padding:16px; overflow:auto; flex:1; background:#fafafa; }
.ts-msg{ display:flex; gap:10px; margin-bottom:12px; }
.ts-msg__bubble{ padding:12px 14px; border-radius:16px; box-shadow:0 2px 8px rgba(0,0,0,.06); max-width:80%; line-height:1.4; }
.ts-msg--bot .ts-msg__bubble{ background:#fff; border:1px solid #f0f0f0; }
.ts-msg--user{ flex-direction:row-reverse; }
.ts-msg--user .ts-msg__bubble{ background:var(--ts-accent); color:#fff; }
.ts-chat__footer{ padding:12px; background:#fff; border-top:1px solid var(--ts-card-border); display:flex; gap:10px; }
.ts-input{ flex:1; border:1px solid #ececec; border-radius:999px; padding:12px 14px; outline:none; }
.ts-send, .ts-clear{ border:none; border-radius:999px; padding:12px 16px; font-weight:600; cursor:pointer; }
.ts-send{ background:var(--ts-cta); color:#fff; }
.ts-send[disabled]{ opacity:.6; cursor:not-allowed; }
.ts-clear{ background:var(--ts-cta); color:#fff; }
.ts-clear[disabled]{ opacity:.6; cursor:not-allowed; }

/* Typography */ 
.ts-ai-wrap p, .ts-ai-wrap li{ font-weight:400 !important; font-size:1rem; color:var(--ts-contrast-2); line-height:1.6; font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial; }
.ts-ai-wrap h1{ font-weight:700; color:#d61818; }
.ts-ai-wrap h2{ font-weight:700; color:var(--ts-contrast); }
.ts-ai-wrap h3{ font-weight:600; color:var(--ts-contrast); }

/* Responsive */ 
@media (max-width:1000px){ .ts-ai-hero{ grid-template-columns:1fr; } .ts-two-col{ grid-template-columns:1fr; } .ts-grid--3{ grid-template-columns:1fr; } .ts-chat{ height:520px; } }
