/* AiTenzo Design System — Light Theme v1 */
:root{
  --ds-white:#ffffff;--ds-off:#f8f9fc;--ds-off2:#f1f4f9;
  --ds-border:#e8eaf2;--ds-border2:#d1d5db;
  --ds-ink:#0a0e1a;--ds-ink2:#1e2438;--ds-muted:#6b7280;--ds-light:#9ca3af;
  --ds-indigo:#4f46e5;--ds-violet:#7c3aed;--ds-cyan:#06b6d4;
  --ds-emerald:#059669;--ds-amber:#d97706;--ds-rose:#e11d48;
  --ds-grad:linear-gradient(135deg,#4f46e5 0%,#7c3aed 50%,#06b6d4 100%);
  --ds-r:24px;--ds-r-sm:14px;--ds-r-xs:10px;
  --ds-shadow:0 4px 24px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.04);
  --ds-shadow-lg:0 16px 56px rgba(0,0,0,.09),0 2px 6px rgba(0,0,0,.04);
}
.ds{background:var(--ds-white);color:var(--ds-ink);font-family:'DM Sans','Plus Jakarta Sans',system-ui,sans-serif;line-height:1.6;overflow-x:hidden}
.ds *{box-sizing:border-box}
.ds-con{max-width:1200px;margin:0 auto;padding:0 28px}
.ds-con-sm{max-width:880px;margin:0 auto;padding:0 28px}
.ds-sec{padding:96px 0}.ds-sec-sm{padding:72px 0}.ds-sec-xs{padding:56px 0}

/* Typography */
.ds-h1{font-size:clamp(2.6rem,5.5vw,5rem);font-weight:900;line-height:1.06;letter-spacing:-.04em;color:var(--ds-ink)}
.ds-h2{font-size:clamp(1.9rem,3.8vw,3rem);font-weight:900;line-height:1.12;letter-spacing:-.03em;color:var(--ds-ink)}
.ds-h3{font-size:1.22rem;font-weight:800;letter-spacing:-.02em;color:var(--ds-ink)}
.ds-h4{font-size:1rem;font-weight:700;color:var(--ds-ink)}
.ds-sub{font-size:1.08rem;color:var(--ds-muted);line-height:1.78}
.ds-lead{font-size:.9rem;color:var(--ds-muted);line-height:1.8}
.ds-gt{background:var(--ds-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Eyebrow */
.ds-eb{display:inline-flex;align-items:center;gap:7px;background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca;padding:5px 14px;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}
.ds-eb::before{content:'';width:6px;height:6px;border-radius:50%;background:#4f46e5;animation:ds-dot 2s infinite}
@keyframes ds-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}
.ds-eb-green{background:#d1fae5;border-color:#a7f3d0;color:#065f46}.ds-eb-green::before{background:#059669}
.ds-eb-amber{background:#fef3c7;border-color:#fde68a;color:#92400e}.ds-eb-amber::before{background:#d97706}

/* Section head */
.ds-head{text-align:center;max-width:700px;margin:0 auto 56px}
.ds-head p{margin-top:14px}
.ds-head-left{max-width:700px;margin:0 0 48px}

/* Buttons */
.ds-btn-p{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:var(--ds-r-sm);background:var(--ds-indigo);color:#fff;font-weight:700;font-size:.95rem;text-decoration:none;box-shadow:0 4px 20px rgba(79,70,229,.3);transition:all .18s;border:none;cursor:pointer}
.ds-btn-p:hover{background:#4338ca;transform:translateY(-2px);box-shadow:0 8px 28px rgba(79,70,229,.38)}
.ds-btn-s{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--ds-r-sm);background:var(--ds-white);color:var(--ds-ink);font-weight:600;font-size:.95rem;text-decoration:none;border:1.5px solid var(--ds-border);box-shadow:0 1px 4px rgba(0,0,0,.05);transition:all .18s}
.ds-btn-s:hover{border-color:#c7d2fe;background:#f5f3ff}
.ds-btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--ds-r-sm);background:transparent;color:var(--ds-indigo);font-weight:600;font-size:.9rem;text-decoration:none;border:1.5px solid #c7d2fe;transition:all .18s}
.ds-btn-ghost:hover{background:#eef2ff}
.ds-btns{display:flex;gap:12px;flex-wrap:wrap}

/* Cards */
.ds-card{background:var(--ds-white);border:1.5px solid var(--ds-border);border-radius:var(--ds-r);padding:28px;box-shadow:var(--ds-shadow);transition:border-color .2s,box-shadow .2s,transform .2s;position:relative}
.ds-card:hover{border-color:#c7d2fe;box-shadow:0 8px 40px rgba(79,70,229,.08);transform:translateY(-3px)}
.ds-card-accent::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--ds-grad);border-radius:var(--ds-r) var(--ds-r) 0 0}

/* Icon box */
.ds-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:16px;background:#eef2ff;flex-shrink:0}

/* Badges */
.ds-badge{display:inline-block;font-size:.65rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:3px 10px;border-radius:999px;margin-bottom:10px}
.ds-badge-new{background:#d1fae5;color:#065f46}
.ds-badge-pro{background:#ede9fe;color:#5b21b6}
.ds-badge-core{background:#dbeafe;color:#1e40af}
.ds-badge-hot{background:#fee2e2;color:#991b1b}

/* Grids */
.ds-g2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.ds-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ds-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ds-g2c{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media(max-width:1024px){.ds-g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:960px){.ds-g3{grid-template-columns:repeat(2,1fr)}.ds-g2c{grid-template-columns:1fr;gap:40px}}
@media(max-width:640px){.ds-g2,.ds-g3,.ds-g4{grid-template-columns:1fr}}
.ds-rev{direction:rtl}.ds-rev>*{direction:ltr}
@media(max-width:960px){.ds-rev{direction:ltr}}

/* Checklist */
.ds-cl{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.ds-cl li{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--ds-ink2);line-height:1.55}
.ds-ck{width:22px;height:22px;border-radius:50%;flex-shrink:0;background:#d1fae5;border:1.5px solid #a7f3d0;color:#065f46;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:900;margin-top:1px}

/* Code block */
.ds-code{background:#0f172a;border-radius:14px;overflow:hidden}
.ds-code-bar{display:flex;align-items:center;gap:7px;padding:11px 16px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.06)}
.ds-d-r{width:11px;height:11px;border-radius:50%;background:#ef4444}
.ds-d-y{width:11px;height:11px;border-radius:50%;background:#f59e0b}
.ds-d-g{width:11px;height:11px;border-radius:50%;background:#22c55e}
.ds-tab-lbl{margin-left:8px;background:rgba(99,102,241,.15);color:#818cf8;padding:2px 10px;border-radius:5px;font-size:.7rem;font-family:monospace;font-weight:600}
.ds-code pre{padding:18px;font-family:'JetBrains Mono','Fira Code',monospace;font-size:.79rem;line-height:1.8;color:#94a3b8;overflow-x:auto;white-space:pre;margin:0}
.c-kw{color:#c084fc}.c-fn{color:#60a5fa}.c-str{color:#86efac}.c-ok{color:#34d399}.c-hl{color:#fbbf24}.c-cm{color:#374151}.c-err{color:#f87171}

/* Light mockup */
.ds-mockup{background:var(--ds-white);border:1.5px solid var(--ds-border);border-radius:var(--ds-r);overflow:hidden;box-shadow:var(--ds-shadow-lg)}
.ds-mockup-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:var(--ds-off);border-bottom:1px solid var(--ds-border)}
.ds-m-tab{margin-left:8px;background:var(--ds-white);border:1px solid var(--ds-border);border-radius:6px;padding:3px 12px;font-size:.72rem;font-weight:600;color:var(--ds-muted)}

/* Severity */
.ds-sev{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700}
.ds-crit{background:#fee2e2;color:#b91c1c}.ds-high{background:#fef3c7;color:#b45309}.ds-med{background:#ede9fe;color:#6d28d9}.ds-low{background:#d1fae5;color:#065f46}

/* API method */
.ds-post{background:#dbeafe;color:#1e40af;padding:3px 10px;border-radius:6px;font-size:.7rem;font-weight:800;font-family:monospace}
.ds-get{background:#dcfce7;color:#166534;padding:3px 10px;border-radius:6px;font-size:.7rem;font-weight:800;font-family:monospace}

/* Hero */
.ds-hero{background:var(--ds-white);padding:80px 0 0;position:relative;overflow:hidden;text-align:center}
.ds-hero-mesh{position:absolute;inset:-20% -20% auto -20%;height:130%;pointer-events:none;z-index:0;background:radial-gradient(ellipse 80% 60% at 20% -10%,rgba(199,210,254,.55) 0%,transparent 55%),radial-gradient(ellipse 60% 50% at 80% 10%,rgba(167,139,250,.3) 0%,transparent 55%),radial-gradient(ellipse 50% 50% at 50% 100%,rgba(6,182,212,.12) 0%,transparent 55%);animation:ds-mesh 16s ease-in-out infinite alternate}
@keyframes ds-mesh{0%{transform:scale(1) rotate(0deg)}100%{transform:scale(1.1) rotate(3deg)}}
.ds-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:32px 32px;opacity:.28;z-index:0;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 40%,transparent 100%)}
.ds-hero-in{position:relative;z-index:2;padding:0 24px;max-width:920px;margin:0 auto}
.ds-hero-pb{padding-bottom:72px}

/* Stat strip */
.ds-strip{display:flex;border-top:1px solid var(--ds-border);background:rgba(248,249,252,.9);backdrop-filter:blur(8px)}
.ds-strip-item{flex:1;padding:22px 20px;text-align:center;border-right:1px solid var(--ds-border)}
.ds-strip-item:last-child{border-right:none}
.ds-strip-n{font-size:1.8rem;font-weight:900;letter-spacing:-.04em;line-height:1;color:var(--ds-ink)}
.ds-strip-n em{font-style:normal;color:var(--ds-indigo)}
.ds-strip-l{font-size:.7rem;color:var(--ds-light);text-transform:uppercase;letter-spacing:.07em;margin-top:5px}

/* CTA section */
.ds-cta{padding:110px 24px;text-align:center;background:linear-gradient(165deg,#f5f3ff 0%,#eef2ff 50%,#ecfeff 100%);position:relative;overflow:hidden}
.ds-cta::before{content:'';position:absolute;width:700px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(79,70,229,.07) 0%,transparent 70%);top:-200px;left:50%;transform:translateX(-50%)}
.ds-cta-in{position:relative;z-index:2;max-width:680px;margin:0 auto}

/* Animations */
@keyframes ds-fu{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.ds-fu{animation:ds-fu .65s ease both}
.ds-fu2{animation:ds-fu .65s .1s ease both}
.ds-fu3{animation:ds-fu .65s .2s ease both}
.ds-fu4{animation:ds-fu .65s .3s ease both}

/* Table */
.ds-table{width:100%;border-collapse:collapse;font-size:.85rem}
.ds-table th{background:var(--ds-off);padding:10px 14px;text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ds-muted);border-bottom:1px solid var(--ds-border)}
.ds-table td{padding:11px 14px;border-bottom:1px solid var(--ds-border);color:var(--ds-ink2)}
.ds-table tr:last-child td{border-bottom:none}
.ds-table tr:hover td{background:var(--ds-off)}
.ds-table-wrap{border:1.5px solid var(--ds-border);border-radius:var(--ds-r-sm);overflow:hidden}

/* Tabs */
.ds-tabs{display:flex;border-bottom:2px solid var(--ds-border);overflow-x:auto;scrollbar-width:none}
.ds-tabs::-webkit-scrollbar{display:none}
.ds-tab-btn{padding:12px 20px;font-size:.85rem;font-weight:600;color:var(--ds-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;white-space:nowrap;transition:all .15s}
.ds-tab-btn:hover{color:var(--ds-ink)}
.ds-tab-btn.active{color:var(--ds-indigo);border-bottom-color:var(--ds-indigo)}
.ds-tab-panel{display:none}.ds-tab-panel.active{display:block}

/* Ticker */
.ds-ticker{border-top:1px solid var(--ds-border);border-bottom:1px solid var(--ds-border);background:var(--ds-off);overflow:hidden}
.ds-ticker-lbl{text-align:center;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ds-light);padding:14px 0 4px}
.ds-ticker-wrap{display:flex;padding:10px 0 14px}
.ds-ticker-inner{display:flex;animation:ds-tick 30s linear infinite;white-space:nowrap;flex-shrink:0}
.ds-ticker-inner:hover{animation-play-state:paused}
@keyframes ds-tick{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ds-tick-item{display:inline-flex;align-items:center;padding:5px 24px;font-size:.82rem;font-weight:600;color:var(--ds-light);flex-shrink:0;border-right:1px solid var(--ds-border)}

/* FAQ */
.ds-faq{border:1.5px solid var(--ds-border);border-radius:var(--ds-r-sm);overflow:hidden}
.ds-faq-item{border-bottom:1px solid var(--ds-border)}
.ds-faq-item:last-child{border-bottom:none}
.ds-faq-q{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;cursor:pointer;font-weight:700;font-size:.92rem;color:var(--ds-ink);user-select:none}
.ds-faq-q:hover{background:var(--ds-off)}
.ds-faq-ico{font-size:1.2rem;transition:transform .2s;flex-shrink:0}
.ds-faq-a{display:none;padding:0 20px 18px;font-size:.88rem;color:var(--ds-muted);line-height:1.75}
.ds-faq-item.open .ds-faq-a{display:block}
.ds-faq-item.open .ds-faq-ico{transform:rotate(45deg)}
