/* Supporting story for the homepage, events and Intelligence pages. */
.session-ai{scroll-margin-top:88px;background:#eef3fa;border-block:1px solid rgba(39,78,141,.1);}
.session-ai-layout{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(32px,6vw,80px);}
.session-ai-copy{min-width:0;}
.session-ai-copy h2{font-size:clamp(1.9rem,3.2vw,2.7rem);max-width:19ch;}
.session-ai-copy>p{color:var(--slate);margin-top:16px;max-width:42rem;}
.session-ai-copy>.session-ai-lead{font-size:1.12rem;color:var(--ink);}
.session-ai-copy>.session-ai-availability{font-size:.88rem;}
.session-ai .hero-actions{align-items:center;gap:18px;}
.session-ai-more{font-weight:500;color:var(--lapis-ink);text-underline-offset:4px;}
.session-ai-connect{min-width:0;margin:0;padding:32px;background:rgba(255,255,255,.88);border:1px solid rgba(39,78,141,.14);border-radius:20px;box-shadow:0 12px 40px -24px rgba(24,33,49,.24);}
.session-ai-connect figcaption{font-size:.92rem;color:var(--slate);}
.session-ai-providers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px;padding-bottom:26px;border-bottom:1px solid var(--hairline-soft);}
.session-ai-provider{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;}
.session-ai-provider img{width:36px;height:36px;object-fit:contain;flex:none;}
.session-ai-provider b{font-size:1.08rem;font-weight:600;color:#182131;letter-spacing:-.025em;white-space:nowrap;}
.session-ai-connect h3{font-size:clamp(1.5rem,2.1vw,1.85rem);line-height:1.25;margin:26px 0 0;letter-spacing:-.025em;}
.session-ai-connect>p{color:var(--slate);margin-top:12px;font-size:.98rem;}
.session-ai-question{margin-top:24px;padding-inline-start:18px;border-inline-start:2px solid rgba(39,78,141,.3);}
.session-ai-question>span{font-size:.8rem;color:var(--slate);}
.session-ai-question blockquote{margin:8px 0 0;font-family:var(--serif);font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.5;color:var(--ink);}
.session-ai-connect>.session-ai-context{display:flex;align-items:center;gap:10px;padding-top:20px;margin-top:24px;border-top:1px solid var(--hairline-soft);font-size:.84rem;line-height:1.5;}
.session-ai-context svg{flex:none;width:20px;height:20px;color:var(--lapis);}
.session-ai-plan{margin-top:26px;color:var(--slate);}
.session-ai-plan a{color:var(--lapis-ink);text-underline-offset:4px;}
.session-ai--compact{padding-block:64px;}
/* The homepage shows a readable conversation, with no simulated input control. */
.session-ai-chat{padding:26px;}
.session-ai-chat figcaption{font-size:.78rem;}
.session-ai-messages{display:flex;flex-direction:column;gap:14px;list-style:none;padding:0;margin:20px 0 0;}
.session-ai-message{max-width:92%;padding:13px 16px;border-radius:16px;overflow-wrap:anywhere;}
.session-ai-message--you{align-self:flex-end;max-width:86%;background:#e7eef9;border-end-end-radius:4px;}
.session-ai-message--assistant{align-self:flex-start;background:#f3f4f6;border-end-start-radius:4px;}
.session-ai-speaker{display:block;font-size:.7rem;font-weight:600;line-height:1.4;color:var(--lapis-ink);margin-bottom:5px;}
.session-ai-message p{margin:0;color:var(--ink);font-size:.92rem;line-height:1.55;}
.session-ai-chat-options{margin-top:24px;padding-top:18px;border-top:1px solid var(--hairline-soft);}
.session-ai-chat-options>span{font-size:.76rem;color:var(--slate);}
.session-ai-chat .session-ai-providers{margin-top:12px;padding:0;border:0;gap:10px;}
.session-ai-chat .session-ai-provider{gap:6px;}
.session-ai-chat .session-ai-provider img{width:24px;height:24px;}
.session-ai-chat .session-ai-provider b{font-size:.82rem;letter-spacing:-.02em;}
.session-ai-chat>.session-ai-context{font-size:.76rem;margin-top:18px;padding-top:0;border:0;gap:8px;}
@media(max-width:760px){
  .session-ai{padding-block:52px;}
  .session-ai-layout{grid-template-columns:1fr;gap:30px;}
  .session-ai-copy h2{max-width:24ch;}
  .session-ai-connect{padding:26px;}
}
@media(max-width:400px){
  .session-ai-connect{padding:22px;}
  .session-ai-providers{gap:10px;}
  .session-ai-provider img{width:32px;height:32px;}
  .session-ai-provider b{font-size:1rem;}
  .session-ai-chat{padding:20px 16px;}
  .session-ai-message{padding:12px 14px;max-width:94%;}
  .session-ai-message--you{max-width:88%;}
}
@media(max-width:360px){
  .session-ai-providers{column-gap:8px;}
  .session-ai-provider b{font-size:.92rem;}
  .session-ai .hero-actions{align-items:flex-start;flex-direction:column;gap:14px;}
}
