:root{--bg:#ffffff;--bg-alt:#f8fafc;--text:#0f172a;--muted:#64748b;--brand:#2563eb;--brand-dark:#1e40af;--ring:#93c5fd;--line:#e2e8f0;--card:#ffffff;--radius:12px;--shadow-sm:0 2px 6px rgba(15,23,42,.06);--shadow-md:0 8px 22px rgba(15,23,42,.08);--shadow-lg:0 16px 40px rgba(15,23,42,.12)}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:var(--brand);text-decoration:none;transition:color .15s ease}
a:hover{text-decoration:underline}
.container{width:min(1150px,92vw);margin:0 auto}
.btn{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--line);background:#fff;padding:.65rem .835rem;border-radius:8px;font-weight:600;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 6px 18px rgba(37,99,235,.25)}
.btn.primary:hover{background:var(--brand-dark)}
.btn.ghost{background:#fff}
.btn.ghost:hover{background:var(--bg-alt);border-color:#cbd5e1}
nav{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line);z-index:30;box-shadow:0 6px 16px rgba(15,23,42,.04)}
nav .bar{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.brand{display:flex;align-items:center;gap:.6rem}
.brand-logo{width:36px;height:36px}
.brand b{font-weight:900;font-size:1.2rem}
.navlinks{display:flex;gap:1.2rem}
.navlinks a{color:var(--muted);padding:.4rem .25rem;border-radius:8px}
.navlinks a:hover{color:var(--text);background:rgba(15,23,42,.04)}
.navlinks a:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
header.hero{padding:clamp(2.5rem,6vw,5rem) 0;background:linear-gradient(135deg,#eff6ff,#f0f9ff)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.2rem;align-items:center}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.09em;color:var(--brand);text-transform:uppercase;margin-bottom:.4rem}
h1{font-size:clamp(1.9rem,4.6vw,3.2rem);line-height:1.12;margin:.2rem 0 .9rem;letter-spacing:-.01em}
.sub{color:var(--muted);font-size:1.06rem;max-width:60ch}
.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
.fine-print{margin-top:.6rem}
.hero-card{background:transparent;border:none;padding:0;box-shadow:none;display:grid;place-items:center}
/* SVG Morphing Blob Styles */
.blob{width:min(46vmin, 420px);aspect-ratio:1;filter:drop-shadow(0 0 60px rgba(37, 99, 235, 0.35)) drop-shadow(0 0 30px rgba(37, 99, 235, 0.2))}
svg{transition:filter .3s ease}
section{padding:3.2rem 0}
h2{font-size:1.9rem;margin:0 0 1rem;letter-spacing:-.01em}
.section-alt{background:linear-gradient(180deg,#ffffff 0%, #f8fafc 100%)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.05rem;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#dbe3ee}
ul{padding-left:1.2rem;margin:.25rem 0 .7rem}
.muted{color:var(--muted)}
/* Interactive demo */
.demo{display:grid;grid-template-columns:1.07fr .93fr;gap:1.1rem}
.demo-left,.demo-right{background:#fff;border:1px solid var(--line);border-radius:12px;min-width:0}
.demo-left{padding:1rem;overflow:hidden}
.demo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}
.chips{display:flex;gap:.45rem;flex-wrap:wrap}
.chip{font-size:.8rem;border:1px solid var(--line);border-radius:999px;padding:.3rem .6rem;background:#f8fafc;transition:background .15s ease,border-color .15s ease,color .15s ease}
.chip:hover{background:#eef2f7;border-color:#cbd5e1}
.chat{height:440px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fafafa;padding:.75rem;box-shadow:inset 0 1px 0 #fff;font-size:.8rem;min-width:0;max-width:100%;box-sizing:border-box}
.msg{display:flex;gap:.5rem;margin:.4rem 0;align-items:flex-start}
.msg .bubble{max-width:85%;padding:.6rem .75rem;border-radius:8px;line-height:1.5;font-size:.8rem;word-wrap:break-word;white-space:pre-wrap;overflow-x:hidden;box-sizing:border-box}
.me .bubble{background:var(--brand);color:#fff;border-top-right-radius:4px;box-shadow:0 1px 3px rgba(37,99,235,.15);font-weight:400}
.ai .bubble{background:#ffffff;border:1px solid #e5e7eb;border-top-left-radius:4px;box-shadow:0 1px 2px rgba(15,23,42,.04);color:#1f2937}
/* Structured content styling */
.bubble p{margin:.3rem 0;line-height:1.5}
.bubble ul,.bubble ol{margin:.3rem 0;padding-left:1.2rem}
.bubble li{margin:.2rem 0;line-height:1.4}
.bubble strong{font-weight:600;color:inherit}
.bubble em{font-style:italic;color:inherit}
.bubble del{text-decoration:line-through;color:#6b7280}
.bubble code{background:#f3f4f6;padding:.15rem .3rem;border-radius:3px;font-size:.75rem;font-family:'SF Mono',Monaco,'Cascadia Code','Roboto Mono',Consolas,'Courier New',monospace;color:#e83e8c}
.bubble pre{background:#f9fafb;border:1px solid #e5e7eb;padding:.6rem;border-radius:6px;overflow-x:auto;margin:.4rem 0;font-size:.75rem;line-height:1.4;font-family:'SF Mono',Monaco,'Cascadia Code','Roboto Mono',Consolas,'Courier New',monospace}
.bubble pre code{background:transparent;padding:0;color:#1f2937}
.bubble h1,.bubble h2,.bubble h3,.bubble h4,.bubble h5,.bubble h6{margin:.5rem 0 .3rem;font-weight:600;line-height:1.3;color:inherit}
.bubble h1{font-size:1.1em;border-bottom:1px solid #e5e7eb;padding-bottom:.2rem}
.bubble h2{font-size:1.05em;border-bottom:1px solid #e5e7eb;padding-bottom:.15rem}
.bubble h3{font-size:1em}
.bubble h4{font-size:.95em}
.bubble h5{font-size:.9em}
.bubble h6{font-size:.85em;color:#6b7280}
/* Tables */
.bubble .table-wrapper{overflow-x:auto;margin:.5rem 0;border-radius:6px;border:1px solid #e5e7eb;width:100%;max-width:100%;display:block;box-sizing:border-box;-webkit-overflow-scrolling:touch}
.bubble .table-wrapper::-webkit-scrollbar{height:6px}
.bubble .table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}
.bubble .table-wrapper::-webkit-scrollbar-track{background:transparent}
.bubble table{width:auto;border-collapse:collapse;font-size:.8rem;table-layout:auto;margin:0}
.bubble table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}
.bubble table th{text-align:left;padding:.4rem .5rem;font-weight:600;color:#1f2937;border-right:1px solid #e5e7eb;white-space:nowrap}
.bubble table th:last-child{border-right:none}
.bubble table td{padding:.4rem .5rem;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;vertical-align:top;word-wrap:break-word;overflow-wrap:break-word}
.bubble table td:last-child{border-right:none}
.bubble table tbody tr:nth-child(even){background:#fafafa}
.bubble table tbody tr:hover{background:#f3f4f6}
.bubble table th strong,.bubble table td strong{font-weight:600;color:inherit}
/* Responsive table styling for narrow containers */
@media (max-width:600px){.bubble .table-wrapper{font-size:.7rem}.bubble table{font-size:.7rem}.bubble table th,.bubble table td{padding:.3rem .4rem}}
/* Blockquotes */
.bubble blockquote{border-left:3px solid #3b82f6;padding-left:.75rem;margin:.5rem 0;color:#4b5563;background:#f9fafb;padding:.5rem .75rem;border-radius:0 6px 6px 0;font-style:italic}
.bubble blockquote p{margin:.25rem 0}
.bubble blockquote p:first-child{margin-top:0}
.bubble blockquote p:last-child{margin-bottom:0}
/* Horizontal rules */
.bubble hr{border:none;border-top:1px solid #e5e7eb;margin:.75rem 0;background:none}
/* Task lists */
.bubble .task-list{list-style:none;padding-left:0}
.bubble .task-list-item{display:flex;align-items:flex-start;gap:.5rem;margin:.3rem 0;padding-left:0}
.bubble .task-list-item input[type="checkbox"]{margin-top:.15rem;flex-shrink:0;cursor:not-allowed}
/* Links */
.bubble a{color:#2563eb;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease}
.bubble a:hover{color:#1d4ed8;border-bottom-color:#2563eb}
/* Images */
.bubble img{max-width:100%;height:auto;border-radius:4px;margin:.5rem 0;display:block}
/* Thinking indicator - ChatGPT-style single line */
.thinking-indicator{display:flex;align-items:center;gap:.4rem;padding:.25rem 0;margin:.25rem 0 .5rem;font-size:.7rem;color:#9ca3af;font-style:italic}
.thinking-indicator .thinking-dot{width:4px;height:4px;border-radius:50%;background:#9ca3af;animation:thinking-pulse 1.4s ease-in-out infinite}
.thinking-indicator .thinking-dot:nth-child(2){animation-delay:.2s}
.thinking-indicator .thinking-dot:nth-child(3){animation-delay:.4s}
@keyframes thinking-pulse{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}
.thinking-indicator .thinking-text{flex:1}
.thinking-indicator .thinking-meta{color:#6b7280;font-size:.65rem;margin-left:auto}
/* Summary indicator - completed state */
.summary-indicator{display:flex;align-items:center;gap:.4rem;padding:.25rem 0;margin:.25rem 0 .5rem;font-size:.7rem;color:#6b7280}
.summary-indicator .summary-text{flex:1}
.summary-indicator .summary-meta{color:#9ca3af;font-size:.65rem;margin-left:auto}
.inputbar{display:flex;gap:.6rem;margin-top:.9rem}
.inputbar input{flex:1;border:1px solid var(--line);border-radius:10px;padding:.85rem;transition:border-color .15s ease,box-shadow .15s ease;font-size:.95rem}
.inputbar input:focus{border-color:#cbd5e1;outline:none;box-shadow:0 0 0 4px rgba(147,197,253,.35)}
.inputbar button{border:1px solid var(--brand);background:var(--brand);color:#fff;border-radius:10px;padding:.85rem 1rem;font-weight:600;transition:background .15s ease,box-shadow .15s ease,transform .08s ease}
.inputbar button:hover{background:var(--brand-dark)}
.inputbar button:active{transform:translateY(1px)}
.inputbar button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.demo-right{padding:1rem}
.data-room{height:440px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#f8fafc;padding:.9rem;margin-top:.7rem}
.file-item{display:flex;align-items:center;gap:.55rem;padding:.55rem;border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:.45rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}
.file-item:hover{background:#f1f5f9;border-color:var(--brand);box-shadow:0 8px 18px rgba(2,132,199,.08)}
.file-item:active{transform:translateY(1px)}
.file-item.active{background:#e0f2fe;border-color:var(--brand)}
.file-icon{width:20px;height:20px;border-radius:4px;background:var(--brand);opacity:.7}
.file-name{flex:1;font-size:.92rem}
.file-preview{display:none;margin-top:.55rem;padding:.65rem;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:.86rem;max-height:200px;overflow:auto;line-height:1.6}
.file-preview.show{display:block;max-height:400px}
/* Markdown styling for file previews */
.file-preview p{margin:.4rem 0;line-height:1.6}
.file-preview ul,.file-preview ol{margin:.4rem 0;padding-left:1.2rem}
.file-preview li{margin:.2rem 0;line-height:1.5}
.file-preview strong{font-weight:600;color:inherit}
.file-preview em{font-style:italic;color:inherit}
.file-preview code{background:#f3f4f6;padding:.15rem .3rem;border-radius:3px;font-size:.75rem;font-family:'SF Mono',Monaco,'Cascadia Code','Roboto Mono',Consolas,'Courier New',monospace;color:#e83e8c}
.file-preview pre{background:#f9fafb;border:1px solid #e5e7eb;padding:.6rem;border-radius:6px;overflow-x:auto;margin:.4rem 0;font-size:.75rem;line-height:1.4;font-family:'SF Mono',Monaco,'Cascadia Code','Roboto Mono',Consolas,'Courier New',monospace}
.file-preview pre code{background:transparent;padding:0;color:#1f2937}
.file-preview h1,.file-preview h2,.file-preview h3,.file-preview h4,.file-preview h5,.file-preview h6{margin:.6rem 0 .4rem;font-weight:600;line-height:1.3;color:inherit}
.file-preview h1{font-size:1.2em;border-bottom:1px solid #e5e7eb;padding-bottom:.3rem;margin-top:.8rem}
.file-preview h2{font-size:1.1em;border-bottom:1px solid #e5e7eb;padding-bottom:.2rem;margin-top:.7rem}
.file-preview h3{font-size:1em;margin-top:.6rem}
.file-preview h4{font-size:.95em}
.file-preview h5{font-size:.9em}
.file-preview h6{font-size:.85em;color:#6b7280}
.file-preview .table-wrapper{overflow-x:auto;margin:.5rem 0;border-radius:6px;border:1px solid #e5e7eb;width:100%;max-width:100%;display:block;box-sizing:border-box;-webkit-overflow-scrolling:touch}
.file-preview .table-wrapper::-webkit-scrollbar{height:6px}
.file-preview .table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}
.file-preview .table-wrapper::-webkit-scrollbar-track{background:transparent}
.file-preview table{width:auto;border-collapse:collapse;font-size:.85rem;table-layout:auto;margin:0}
.file-preview table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}
.file-preview table th{text-align:left;padding:.5rem .6rem;font-weight:600;color:#1f2937;border-right:1px solid #e5e7eb;white-space:nowrap}
.file-preview table th:last-child{border-right:none}
.file-preview table td{padding:.5rem .6rem;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;vertical-align:top;word-wrap:break-word;overflow-wrap:break-word}
.file-preview table td:last-child{border-right:none}
.file-preview table tbody tr:nth-child(even){background:#fafafa}
.file-preview table tbody tr:hover{background:#f3f4f6}
.file-preview table th strong,.file-preview table td strong{font-weight:600;color:inherit}
/* Responsive table styling for narrow containers */
@media (max-width:600px){.file-preview .table-wrapper{font-size:.75rem}.file-preview table{font-size:.75rem}.file-preview table th,.file-preview table td{padding:.4rem .5rem}}
.file-preview blockquote{border-left:3px solid #3b82f6;padding-left:.75rem;margin:.5rem 0;color:#4b5563;background:#f9fafb;padding:.5rem .75rem;border-radius:0 6px 6px 0;font-style:italic}
.file-preview blockquote p{margin:.25rem 0}
.file-preview hr{border:none;border-top:1px solid #e5e7eb;margin:.75rem 0;background:none}
.file-preview a{color:#2563eb;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease}
.file-preview a:hover{color:#1d4ed8;border-bottom-color:#2563eb}
.file-preview img{max-width:100%;height:auto;border-radius:4px;margin:.5rem 0;display:block}
.logos{display:flex;flex-wrap:wrap;gap:.65rem}
.logo{border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;background:#fff;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.logo:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#dbe3ee}
.backers{margin-top:1rem;padding:.75rem}
.backers-logos{display:flex;flex-wrap:wrap;gap:.4rem}
.backer-logo{border:1px solid var(--line);border-radius:999px;padding:.25rem .5rem;background:#fff;font-size:.8rem;color:var(--muted)}
.backer-logo:hover{border-color:#dbe3ee}
footer{border-top:1px solid var(--line);padding:2.2rem 0;color:var(--muted);font-size:.95rem}
.footer-bar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center}
/* Animated logo strips (integrations) */
.logo-strip{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;padding:.5rem}
.logo-track{display:flex;align-items:center;gap:.75rem;width:max-content;animation:logo-scroll 28s linear infinite}
.logo-strip:hover .logo-track{animation-play-state:paused}
@keyframes logo-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* Polish logo pills for high-end feel */
.logo{filter:grayscale(1);opacity:.85;box-shadow:0 2px 6px rgba(15,23,42,.04)}
.logo:hover{filter:none;opacity:1}
@media (prefers-reduced-motion:reduce){.logo-track{animation:none}}
@media (max-width:980px){.logo-track{animation-duration:22s;gap:.6rem}}
@media (max-width:620px){.logo-track{animation-duration:18s;gap:.5rem}}
/* How it works */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease}
.step:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.step-num{width:32px;height:32px;border-radius:999px;background:linear-gradient(135deg,var(--brand),#60a5fa);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;margin-bottom:.5rem}
.step h3{margin:.2rem 0 .4rem;font-size:1.05rem}
.step p{margin:0;color:var(--muted)}
/* Pricing */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.price-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.6rem}
.price-card.popular{border-color:#bfdbfe;box-shadow:0 10px 28px rgba(37,99,235,.12)}
.price-header{display:flex;justify-content:space-between;align-items:center}
.badge{font-size:.75rem;background:#e0f2fe;color:#075985;border:1px solid #bae6fd;border-radius:999px;padding:.2rem .5rem}
.price{font-size:1.8rem;font-weight:800;letter-spacing:-.01em}
.period{color:var(--muted);font-size:.95rem}
.feat-list{margin:.2rem 0 0;padding-left:1.2rem}
.feat-list li{margin:.2rem 0}
.price-cta{margin-top:.4rem}
/* FAQ */
.faq details{border:1px solid var(--line);border-radius:12px;padding:1rem;background:#fff;box-shadow:var(--shadow-sm)}
.faq details+details{margin-top:1rem}
@media (max-width:980px){.steps{grid-template-columns:1fr 1fr}.pricing{grid-template-columns:1fr}.price-card{padding:1rem}}
/* Scrollbar polish (WebKit) */
.chat::-webkit-scrollbar,.data-room::-webkit-scrollbar{height:10px;width:10px}
.chat::-webkit-scrollbar-thumb,.data-room::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}
.chat::-webkit-scrollbar-track,.data-room::-webkit-scrollbar-track{background:transparent}
@media (max-width:980px){.hero-grid,.grid-2,.demo{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}.navlinks{display:none}}
@media (max-width:620px){.grid-3{grid-template-columns:1fr}}
/* Calendly responsive height */
.cal-embed{min-width:320px;height:620px}
@media (max-width:620px){.cal-embed{height:720px}}

/* Backers Section */
.backers-title {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.backers-logos {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
  flex-wrap: wrap; /* Ensures wrapping on smaller screens */
}

.backer-logo-img {
  height: 40px; /* Adjust size as needed */
  max-width: 100px; /* Prevent overly wide logos */
  object-fit: contain; /* Ensures logos maintain aspect ratio */
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.backer-logo-img:hover {
  transform: scale(1.1); /* Slight zoom effect on hover */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

@media (max-width: 768px) {
  .backers-logos {
    justify-content: center; /* Center align on smaller screens */
    gap: 0.5rem;
  }
  .backer-logo-img {
    height: 30px; /* Reduce size for smaller screens */
  }
}

/* Integration hover descriptions */
.integration-description {
  margin-top: 1rem;
  padding: 1rem;
  background: var(--bg-alt);
  border: 1px solid var(--line);
  border-radius: 10px;
  min-height: 60px;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--text);
  transition: opacity 0.3s ease;
}

.integration-description.empty {
  opacity: .7;
  font-style: italic;
}

/* Normalize integration logo sizing so different source SVGs/PNGs appear consistent */
.integration-logo-img {
  height: 40px;             /* force visual height */
  max-height: 40px;         /* safety cap */
  width: auto;              /* preserve aspect ratio */
  max-width: 140px;        /* prevent extremely wide logos */
  display: block;           /* remove inline whitespace artifacts */
  margin: 0 auto;           /* center inside the pill */
  object-fit: contain;      /* ensure image content is contained */
  cursor: pointer;
  transition: transform 0.2s ease, opacity 0.2s ease;
  filter: none;
}

.integration-logo-img:hover {
  transform: scale(1.1);
  opacity: 1;
}

.logo-track .logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.8rem;
  min-height: 56px; /* give a little more vertical room so logos align visually */
}

.logo-track .logo span:not([style*="display:none"]) {
  display: inline-block;
  padding: 0.5rem 0.8rem;
  font-size: 0.9rem;
  font-weight: 500;
}

