/* "Talk to your business" AI block (homepage teaser + /ai). Self-contained; works without JS
   (all scenarios render as static conversations), animates with ct-ai.js. */
.ct-ai{--ai-blue:#004bff;--ai-ink:#171717;--ai-mute:#5b6472;--ai-line:#e3e8f2;--ai-soft:#f3f6ff;--ai-card:#fff;
  --ai-user:#004bff;--ai-ok:#0f9d58;--ai-warn:#b25e00;font-family:inherit;color:var(--ai-ink);text-align:start}
.ct-ai *{box-sizing:border-box}
.ct-ai__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.ct-ai__kicker{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ai-blue);background:#e8efff;border-radius:999px;padding:6px 12px;margin:0 0 18px}
.ct-ai__kicker svg{width:16px;height:16px}
.ct-ai h2.ct-ai__title,.ct-ai h1.ct-ai__title{font-family:Tthoves,Arial,sans-serif;font-weight:600;font-size:clamp(2rem,1.3rem + 1.9vw,2.875rem);
  line-height:1.08;letter-spacing:-.02em;margin:0 0 18px;color:var(--ai-ink)}
.ct-ai__lead{font-size:1.125rem;line-height:1.6;color:var(--ai-mute);margin:0 0 22px}
.ct-ai__points{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:12px}
.ct-ai__points li{display:grid;grid-template-columns:22px 1fr;gap:10px;line-height:1.5;font-size:1rem}
.ct-ai__points li::before{content:"";width:22px;height:22px;border-radius:7px;margin-top:1px;
  background:#e8efff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004bff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat}
.ct-ai__works{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 28px;font-size:.875rem;color:var(--ai-mute)}
.ct-ai__chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ai-line);background:#fff;border-radius:999px;
  padding:5px 12px;font-weight:600;color:var(--ai-ink);font-size:.875rem}
.ct-ai__chip i{width:8px;height:8px;border-radius:50%;background:var(--ai-ok);display:inline-block}
.ct-ai__cta{display:flex;flex-wrap:wrap;gap:12px}
.ct-ai__cta a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:8px;
  font-weight:600;text-decoration:none;font-size:1rem;transition:background .2s,color .2s,border-color .2s}
.ct-ai__cta a.p{background:var(--ai-blue);color:#fff}
.ct-ai__cta a.p:hover{background:#003bd1}
.ct-ai__cta a.s{border:1px solid #c9d5f5;color:var(--ai-blue);background:#fff}
.ct-ai__cta a.s:hover{border-color:var(--ai-blue)}

/* demo window */
.ct-ai__demo{min-width:0}
.ct-ai__roles{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.ct-ai__role{appearance:none;border:1px solid var(--ai-line);background:#fff;color:var(--ai-mute);font:inherit;font-size:.875rem;
  font-weight:600;border-radius:999px;padding:8px 14px;cursor:pointer;position:relative;overflow:hidden;transition:color .2s,border-color .2s,background .2s}
.ct-ai__role:hover{color:var(--ai-ink);border-color:#c9d5f5}
.ct-ai__role[aria-selected="true"]{color:#fff;background:var(--ai-ink);border-color:var(--ai-ink)}
.ct-ai__role .ct-ai__bar{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--ai-blue)}
.ct-ai__window{background:var(--ai-card);border:1px solid var(--ai-line);border-radius:20px;
  box-shadow:0 30px 60px -30px rgba(10,30,90,.35),0 8px 24px -12px rgba(10,30,90,.15);overflow:hidden}
.ct-ai__head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--ai-line);background:#fbfcff}
.ct-ai__dots{display:flex;gap:6px}.ct-ai__dots i{width:10px;height:10px;border-radius:50%;background:#dfe4ee}
.ct-ai__head-title{font-size:.8125rem;color:var(--ai-mute);font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-ai__live{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--ai-ok)}
.ct-ai__live i{width:7px;height:7px;border-radius:50%;background:var(--ai-ok);box-shadow:0 0 0 0 rgba(15,157,88,.5);animation:ct-ai-pulse 2s infinite}
@keyframes ct-ai-pulse{0%{box-shadow:0 0 0 0 rgba(15,157,88,.45)}70%{box-shadow:0 0 0 7px rgba(15,157,88,0)}100%{box-shadow:0 0 0 0 rgba(15,157,88,0)}}
.ct-ai__log{height:500px;overflow:hidden;padding:18px 18px 8px;display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(180deg,#fff 0,#fbfcff 100%)}
.ct-ai__scenario{display:flex;flex-direction:column;gap:10px}
.ct-ai.is-js .ct-ai__scenario{display:none}
.ct-ai.is-js .ct-ai__scenario.is-active{display:flex}
.ct-ai.is-js .ct-ai__scenario.is-active>*{display:none}
.ct-ai.is-js .ct-ai__scenario.is-active>.is-shown{display:block;animation:ct-ai-in .35s ease both}
.ct-ai.is-js .ct-ai__scenario.is-active>.ct-ai__tools.is-shown{display:flex}
@keyframes ct-ai-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ct-ai__msg{max-width:86%;border-radius:16px;padding:11px 14px;line-height:1.5;font-size:.9375rem}
.ct-ai__msg p{margin:0}.ct-ai__msg p+p{margin-top:6px}
.ct-ai__msg.is-user{align-self:flex-end;background:var(--ai-user);color:#fff;border-bottom-right-radius:5px}
.ct-ai__msg.is-ai{align-self:flex-start;background:var(--ai-soft);border:1px solid #e1e8fb;border-bottom-left-radius:5px}
.ct-ai__msg.is-ai b{font-weight:700}
.ct-ai__msg ul{margin:6px 0 0;padding-inline-start:18px}.ct-ai__msg li{margin:2px 0}
.ct-ai__tools{display:flex;flex-wrap:wrap;gap:6px;align-self:flex-start}
.ct-ai__tool{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--ai-mute);
  background:#fff;border:1px dashed #cdd6e8;border-radius:8px;padding:4px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.ct-ai__tool::before{content:"";width:12px;height:12px;border-radius:50%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f9d58' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat}
.ct-ai__tool.is-run::before{background:none;border:2px solid #cdd6e8;border-top-color:var(--ai-blue);animation:ct-ai-spin .8s linear infinite}
@keyframes ct-ai-spin{to{transform:rotate(360deg)}}
.ct-ai__ask{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ct-ai__ask span{font-size:.8125rem;font-weight:700;border-radius:8px;padding:7px 12px;border:1px solid #c9d5f5;background:#fff;color:var(--ai-blue)}
.ct-ai__ask span.is-yes{background:var(--ai-blue);color:#fff;border-color:var(--ai-blue)}
.ct-ai__ask span.is-press{animation:ct-ai-press .5s ease}
@keyframes ct-ai-press{50%{transform:scale(.94)}}
.ct-ai__note{display:block;font-size:.75rem;color:var(--ai-mute);margin-top:6px}
.ct-ai__typing{align-self:flex-start;display:inline-flex;gap:4px;padding:12px 14px;background:var(--ai-soft);border-radius:16px;border-bottom-left-radius:5px}
.ct-ai__typing i{width:6px;height:6px;border-radius:50%;background:#9aa7c2;animation:ct-ai-dot 1.1s infinite}
.ct-ai__typing i:nth-child(2){animation-delay:.15s}.ct-ai__typing i:nth-child(3){animation-delay:.3s}
@keyframes ct-ai-dot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.ct-ai__input{display:flex;align-items:center;gap:10px;margin:8px 14px 14px;border:1px solid var(--ai-line);border-radius:14px;padding:10px 10px 10px 14px;background:#fff}
.ct-ai__input span{flex:1;min-width:0;color:#9aa3b2;font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-ai__input span.is-typing{color:var(--ai-ink)}
.ct-ai__input span.is-typing::after{content:"";display:inline-block;width:2px;height:1.05em;background:var(--ai-blue);vertical-align:-2px;margin-left:2px;animation:ct-ai-caret 1s steps(1) infinite}
@keyframes ct-ai-caret{50%{opacity:0}}
.ct-ai__send{width:34px;height:34px;border-radius:10px;background:var(--ai-blue);display:grid;place-items:center;flex:none}
.ct-ai__send svg{width:16px;height:16px}
.ct-ai__caption{font-size:.75rem;color:var(--ai-mute);margin:10px 4px 0}

/* trust strip */
.ct-ai__trust{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ct-ai__trust li{background:#fff;border:1px solid var(--ai-line);border-radius:14px;padding:16px;font-size:.875rem;line-height:1.45;color:var(--ai-mute)}
.ct-ai__trust b{display:block;color:var(--ai-ink);font-size:.9375rem;margin:10px 0 4px}
.ct-ai__trust svg{width:22px;height:22px;color:var(--ai-blue)}

/* /ai page sections */
.ct-ai-page .ct-ai__hero{padding:150px 0 72px;background:radial-gradient(1200px 500px at 80% 0,#e7eeff 0,rgba(231,238,255,0) 70%)}
.ct-ai-page section.ct-ai-sec{padding:72px 0}
.ct-ai-page .ct-ai-sec.is-soft{background:#f6f8fd}
.ct-ai-page .ct-ai-sec h2{font-family:Tthoves,Arial,sans-serif;font-weight:600;font-size:clamp(1.75rem,1.2rem + 1.6vw,2.5rem);letter-spacing:-.015em;line-height:1.15;margin:0 0 14px}
.ct-ai-page .ct-ai-sec .ct-ai__lead{max-width:760px}
.ct-ai-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.ct-ai-cards.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ct-ai-card{background:#fff;border:1px solid var(--ai-line);border-radius:16px;padding:22px}
.ct-ai-card h3{font-family:Tthoves,Arial,sans-serif;font-size:1.125rem;font-weight:600;margin:12px 0 8px;line-height:1.3}
.ct-ai-card p{margin:0;color:var(--ai-mute);line-height:1.55;font-size:.9375rem}
.ct-ai-card q{display:block;quotes:none;margin-top:12px;font-size:.875rem;color:var(--ai-ink);background:var(--ai-soft);border-radius:10px;padding:9px 12px;line-height:1.45}
.ct-ai-card q+q{margin-top:6px}
.ct-ai-ico{width:40px;height:40px;border-radius:12px;background:#e8efff;display:grid;place-items:center;color:var(--ai-blue)}
.ct-ai-ico svg{width:22px;height:22px}
.ct-ai-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.ct-ai-tier{border-radius:16px;padding:22px;border:1px solid var(--ai-line);background:#fff}
.ct-ai-tier .tag{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:6px;padding:4px 8px}
.ct-ai-tier.read .tag{background:#e6f6ee;color:#0b7a44}.ct-ai-tier.change .tag{background:#fff3e0;color:var(--ai-warn)}.ct-ai-tier.cmd .tag{background:#fde8e8;color:#b42318}
.ct-ai-tier h3{font-family:Tthoves,Arial,sans-serif;font-size:1.125rem;margin:12px 0 8px}
.ct-ai-tier p,.ct-ai-tier li{color:var(--ai-mute);font-size:.9375rem;line-height:1.55}
.ct-ai-tier ul{margin:8px 0 0;padding-inline-start:18px}
.ct-ai-steps{counter-reset:s;list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ct-ai-steps li{counter-increment:s;background:#fff;border:1px solid var(--ai-line);border-radius:16px;padding:22px;color:var(--ai-mute);line-height:1.55}
.ct-ai-steps li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ai-ink);color:#fff;font-weight:700;margin-bottom:12px}
.ct-ai-steps b{display:block;color:var(--ai-ink);margin-bottom:4px}
.ct-ai-stats{display:flex;flex-wrap:wrap;gap:28px;margin-top:26px}
.ct-ai-stats div{min-width:150px}.ct-ai-stats b{display:block;font-family:Tthoves,Arial,sans-serif;font-size:2.25rem;line-height:1;color:var(--ai-blue)}
.ct-ai-stats span{font-size:.875rem;color:var(--ai-mute)}
.ct-ai-faq details{border-bottom:1px solid var(--ai-line);padding:16px 0}
.ct-ai-faq summary{cursor:pointer;font-weight:600;font-size:1.0625rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.ct-ai-faq summary::after{content:"+";color:var(--ai-blue);font-size:1.4rem;line-height:1}
.ct-ai-faq details[open] summary::after{content:"\2212"}
.ct-ai-faq p{color:var(--ai-mute);line-height:1.6;margin:10px 0 0;max-width:820px}
.ct-ai-final{background:var(--ai-ink);color:#fff;border-radius:24px;padding:48px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.ct-ai-final h2{color:#fff;margin:0 0 8px}.ct-ai-final p{margin:0;color:#c3c9d6;max-width:620px;line-height:1.55}

@media (max-width:991px){
  .ct-ai__grid{grid-template-columns:1fr;gap:36px}
  .ct-ai__trust{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-ai-cards,.ct-ai-tiers,.ct-ai-steps{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .ct-ai__log{height:470px;padding:14px 12px 6px}
  .ct-ai__msg{max-width:92%;font-size:.875rem}
  .ct-ai__roles{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
  .ct-ai__roles::-webkit-scrollbar{display:none}
  .ct-ai__role{flex:none}
  .ct-ai__trust,.ct-ai-cards,.ct-ai-cards.is-2,.ct-ai-tiers,.ct-ai-steps{grid-template-columns:1fr}
  .ct-ai-page .ct-ai__hero{padding:120px 0 48px}
  .ct-ai-page section.ct-ai-sec{padding:52px 0}
  .ct-ai-final{padding:28px}
}
@media (prefers-reduced-motion:reduce){
  .ct-ai *{animation:none!important;transition:none!important}
}
.ct-ai.is-js .ct-ai__scenario.is-active>.ct-ai__typing.is-shown{display:inline-flex}
.ct-ai__sys{align-self:center;font-size:.75rem;color:var(--ai-mute);background:#f1f4fa;border-radius:999px;padding:5px 12px;margin-bottom:4px;text-align:center}
.ct-ai__sys b{color:var(--ai-ink);font-weight:600}
.ct-ai .ct-ai__msg ul{margin:6px 0 2px;padding-inline-start:18px}
.ct-ai .ct-ai__msg li{font-size:inherit;line-height:1.45;font-family:inherit;margin:3px 0;padding:0;letter-spacing:inherit}
.ct-ai .ct-ai__msg,.ct-ai .ct-ai__msg p{font-family:inherit;font-size:.9375rem;line-height:1.5}
.ct-ai .ct-ai__points li,.ct-ai .ct-ai__trust li{letter-spacing:0}
/* v2 additions */
.ct-ai__micro{font-size:.8125rem;color:var(--ai-mute);margin:10px 0 0}
.ct-ai .ct-ai__points li{color:var(--ai-mute)}
.ct-ai .ct-ai__points li b{color:var(--ai-ink);font-weight:600}
.ct-ai .ct-ai__msg table{border-collapse:collapse;margin:8px 0 6px;font-size:.875rem;width:100%;background:#fff;border-radius:8px;overflow:hidden}
.ct-ai .ct-ai__msg th,.ct-ai .ct-ai__msg td{padding:5px 10px;text-align:start;border-bottom:1px solid #e6ebf5}
.ct-ai .ct-ai__msg th{font-size:.75rem;color:var(--ai-mute);font-weight:600;background:#f7f9fd}
.ct-ai .ct-ai__msg td:nth-child(n+2),.ct-ai .ct-ai__msg th:nth-child(n+2){text-align:end}
.ct-ai__trust.is-page{margin-top:24px}
.ct-ai-two{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.ct-ai-related{margin-top:48px}
.ct-ai-page .ct-ai-related h2{font-size:1.25rem}
.ct-ai-related ul{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.ct-ai-related a{display:inline-block;border:1px solid var(--ai-line);border-radius:999px;padding:7px 14px;font-size:.875rem;color:var(--ai-ink);text-decoration:none}
.ct-ai-related a:hover{border-color:var(--ai-blue);color:var(--ai-blue)}
.ct-ai__log{height:440px}
@media (max-width:640px){.ct-ai__log{height:520px}}
.section_ai-mcp{background:linear-gradient(180deg,#f3f6ff 0,#fff 70%)}
@media (max-width:991px){.ct-ai-two{grid-template-columns:1fr;gap:28px}}
/* hero announcement + nav item */
.ct-ai-announce{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;padding:6px 14px 6px 6px;border-radius:999px;background:#fff;border:1px solid #d6e0fb;
  color:#171717;font-size:.875rem;font-weight:600;text-decoration:none;box-shadow:0 6px 18px -10px rgba(0,75,255,.45);transition:border-color .2s,transform .2s}
.ct-ai-announce b{background:#004bff;color:#fff;border-radius:999px;padding:3px 9px;font-size:.75rem;letter-spacing:.03em}
.ct-ai-announce span{color:#004bff}
.ct-ai-announce:hover{border-color:#004bff;transform:translateY(-1px)}
.ct-nav-new{display:inline-block;margin-inline-start:6px;background:#004bff;color:#fff;border-radius:999px;padding:1px 7px;font-size:.6875rem;font-weight:700;vertical-align:2px}
#ask-your-fleet{scroll-margin-top:90px}
@media (max-width:640px){.ct-ai-announce{font-size:.8125rem}}
/* AI client logos */
.ct-ai__logo{width:14px;height:14px;flex:none;display:inline-block;vertical-align:-2px}
.ct-ai__kicker .ct-ai__logo{width:13px;height:13px;margin:0 1px 0 3px}
.ct-ai__chip .ct-ai__logo{width:15px;height:15px}
.ct-ai__any{font-size:.875rem;color:var(--ai-mute);line-height:1.45;flex-basis:100%}
.ct-ai__any small{font-size:.8125rem;color:#8a93a3}
/* change tools */
.ct-ai__tool.is-write{border-color:#f0c48a;color:#8a4b00;background:#fff8ee}
