/* Public-site finishing pass; independent of all application and map styles. */
body :is(.hero-stage,.hero-art,.feature-visual,.expression-preview,.story-art,.cta-art,.platform-visual),
body :is(.hero-stage,.hero-art,.feature-visual,.expression-preview,.story-art,.cta-art,.platform-visual) *,
.home :is(.features-grid article,.expression-surface,.news-card,.conversation-cta),
.home :is(.features-grid article,.expression-surface,.news-card,.conversation-cta) * {
  -webkit-user-select:none;
  user-select:none;
  -webkit-user-drag:none;
}
.menu-toggle .menu-close-icon { display:none; }
.menu-toggle[aria-expanded=true] .menu-open-icon { display:none; }
.menu-toggle[aria-expanded=true] .menu-close-icon { display:block; }
.menu-toggle[aria-expanded=true] { background:var(--lavender); color:var(--brand); }
.mobile-nav { position:absolute; inset:100% 0 auto; padding:23px 24px 20px; background:var(--bg); box-shadow:0 20px 26px -24px #15112799; border-bottom:1px solid var(--line); max-height:calc(100dvh - 76px); overflow:auto; }
.mobile-nav-caption { display:block; font-size:9px; letter-spacing:.14em; color:var(--muted); font-weight:650; margin-bottom:14px; }
.mobile-nav-links { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.mobile-nav-links a { min-width:0; gap:9px; min-height:64px; padding:12px; background:var(--surface); border:1px solid var(--line); border-radius:14px; font-size:13px; color:var(--ink); }
.mobile-nav-links a[aria-current=page] { border-color:color-mix(in srgb,var(--brand) 40%,var(--line)); background:var(--lavender); }
.mobile-link-icon { color:var(--brand); display:grid; place-items:center; }
.mobile-link-icon>.icon { width:18px; height:18px; }
.mobile-nav-links a>.icon { width:13px; height:13px; margin-left:auto; color:var(--muted); }
.mobile-nav-contact { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid var(--line); margin-top:19px; padding-top:14px; }
.mobile-nav-contact>span { font-size:11px; color:var(--muted); }
.mobile-nav-contact>a { font-size:11px; gap:7px; color:var(--brand); min-height:40px; }
.mobile-nav-contact .icon { width:13px; height:13px; }
.mobile-nav:not([hidden]) { animation:menu-reveal .22s cubic-bezier(.16,1,.3,1); }
@keyframes menu-reveal { from { transform:translateY(-8px); } to { transform:translateY(0); } }
@media(min-width:701px) { .mobile-nav { display:none; } }

.home-questions { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; padding-top:8px; padding-bottom:87px; align-items:start; }
.home-questions-intro h2 { font-size:43px; line-height:1.2; letter-spacing:-.055em; margin:20px 0 20px; }
.home-questions-intro p { color:var(--muted); font-size:14px; line-height:1.8; }
.home-questions-intro .text-link { margin-top:20px; font-size:13px; color:var(--brand); }
.home .home-faq { width:100%; max-width:none; min-width:0; padding-bottom:0; }
.home-faq details { transition:background .2s; }
.home .home-faq summary { font-size:17px; line-height:1.6; min-height:88px; padding-block:22px; gap:17px; }
.home-faq summary .faq-plus { display:grid; place-items:center; height:32px; width:32px; border-radius:50%; background:var(--soft); color:var(--muted); transform:rotate(45deg); transition:transform .22s,background .22s,color .22s; }
.home-faq summary .faq-plus>.icon { width:15px; height:15px; }
.home-faq details[open] .faq-plus { transform:rotate(0); background:var(--lavender); color:var(--brand); }
.home-faq summary:hover .faq-plus { background:var(--lavender); color:var(--brand); }
.home .home-faq .faq-answer { font-size:14px; line-height:1.9; padding-right:42px; padding-bottom:26px; }
.home-faq details[open] .faq-answer { animation:answer-reveal .25s ease-out; }
@keyframes answer-reveal { from { transform:translateY(-4px); } to { transform:translateY(0); } }

.home .conversation-cta,.inner-page .conversation-cta { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:1.2fr .8fr; gap:20px; min-height:366px; padding:49px 48px 42px; border-radius:28px; color:#fff; background:linear-gradient(120deg,#6157df,#685ce1 62%,#7868e9); border:1px solid #9486ef; box-shadow:inset 0 1px #ffffff1f; }
.home .conversation-cta:after { display:none; }
.conversation-cta .cta-copy { position:relative; z-index:2; }
.home .conversation-cta h2,.inner-page .conversation-cta h2 { font-size:37px; line-height:1.27; letter-spacing:-.045em; margin:19px 0 20px; }
.home .conversation-cta .eyebrow,.inner-page .conversation-cta .eyebrow { color:#e0dafe; font-size:9px; letter-spacing:.12em; }
.home .conversation-cta p,.inner-page .conversation-cta p { color:#e5dfff; font-size:14px; line-height:1.9; }
.conversation-cta .download-actions { display:flex; flex-direction:row; align-items:center; gap:22px; margin:26px 0 0; }
.home .conversation-cta .button,.inner-page .conversation-cta .button { background:#fff; color:#5148b8; min-height:52px; padding-inline:22px; font-size:13px; border-radius:13px; box-shadow:0 8px 19px -13px #20154faa,inset 0 1px #fff; }
.conversation-cta .download-actions .text-link { color:#f2eeff; font-size:11px; }
.cta-browser-note { display:flex; align-items:center; gap:6px; font-size:10px; color:#e1dbfc; margin-top:17px; }
.cta-browser-note .icon { width:13px; height:13px; }
.cta-art { position:relative; align-self:stretch; min-height:290px; display:flex; align-items:center; justify-content:center; }
.cta-orbit { position:absolute; width:285px; height:285px; border:1px solid #ffffff29; border-radius:50%; transform:rotate(-15deg) scaleY(.9); box-shadow:0 0 0 34px #ffffff07,0 0 0 68px #ffffff04; }
.cta-brand { position:absolute; top:6px; left:calc(50% - 39px); width:78px; height:78px; display:grid; place-items:center; border:1px solid #ffffff38; background:#ffffff0c; border-radius:24px; transform:rotate(8deg); }
.cta-brand>img { width:68px; height:68px; }
.cta-message { position:absolute; display:flex; align-items:center; gap:12px; font-size:14px; box-shadow:0 14px 30px -17px #281c6e88; }
.cta-message-first { top:104px; left:-12px; padding:17px 21px 18px 16px; border-radius:19px 19px 19px 4px; color:#373044; background:#fbf9ff; transform:rotate(-5deg); }
.cta-message-first small { display:block; font-size:9px; color:#8b7bc0; margin-bottom:6px; }
.cta-message-first strong { font-size:14px; font-weight:600; }
.cta-message-avatar { position:relative; width:34px; height:34px; flex-shrink:0; border-radius:50%; background:#b4a4e5; overflow:hidden; }
.cta-message-avatar:after { content:''; position:absolute; width:28px; height:33px; left:15px; top:6px; border-radius:50%; background:#e0d5fa; transform:rotate(35deg); }
.cta-message-reply { top:204px; right:0; transform:rotate(5deg); color:#fff; background:#8d7bee; border:1px solid #b2a0f6; padding:19px 18px 16px 20px; border-radius:19px 19px 4px 19px; font-weight:500; gap:18px; }
.cta-message-reply>span { color:#e6dcff; font-size:11px; }
.cta-spark { position:absolute; right:-2px; top:55px; color:#ded3ff; font-size:52px; line-height:1; transform:rotate(12deg); }
.cta-art-caption { position:absolute; bottom:0; left:0; right:0; text-align:center; color:#e6dfff; font-size:9px; }

.not-found { text-align:center; padding-top:56px; padding-bottom:80px; }
.not-found-art { position:relative; display:flex; justify-content:center; align-items:center; gap:16px; height:208px; margin:0 auto 25px; max-width:420px; color:var(--brand); }
.not-found-art>span { font:700 140px/1 Manrope,sans-serif; letter-spacing:-.06em; }
.not-found-art .not-found-zero { display:grid; place-items:center; width:125px; height:137px; background:var(--lavender); border:1px solid color-mix(in srgb,var(--brand) 15%,var(--line)); border-radius:50%; transform:rotate(-12deg); }
.not-found-zero>img { width:105px; height:105px; }
.not-found-art>i { position:absolute; bottom:0; padding:9px 14px; border:1px solid var(--line); border-radius:12px 12px 12px 2px; background:var(--surface); color:var(--muted); font-size:10px; font-style:normal; transform:rotate(-4deg); }
.not-found h1 { font-size:46px; line-height:1.25; margin:17px 0 20px; }
.not-found>p { color:var(--muted); font-size:15px; line-height:1.9; }
.not-found-actions { display:flex; justify-content:center; align-items:center; gap:25px; margin-top:29px; }
.not-found-actions .text-link { font-size:13px; }
.not-found-web { display:inline-flex; align-items:center; gap:7px; min-height:44px; font-size:12px; color:var(--brand); margin-top:17px; }
.not-found-web .icon { width:13px; height:13px; }

@media(max-width:1000px) {
  .home-questions { grid-template-columns:.75fr 1.25fr; gap:35px; }
  .home .conversation-cta,.inner-page .conversation-cta { gap:22px; padding:38px 32px; }
  .home .conversation-cta h2,.inner-page .conversation-cta h2 { font-size:32px; }
  .conversation-cta .download-actions { gap:15px; }
  .cta-message-first { left:-20px; padding-inline:13px; }
  .cta-message-first strong { font-size:12px; }
  .cta-message-reply { right:-5px; font-size:12px; }
  .cta-spark { right:-6px; }
}
@media(max-width:850px) and (min-width:701px) {
  .cta-art { min-height:320px; }
  .cta-message-avatar { display:none; }
  .cta-message-first { left:0; top:125px; }
  .cta-message-reply { top:218px; gap:9px; padding:17px 13px; }
  .cta-art-caption { font-size:8px; }
  .cta-brand { top:17px; }
  .cta-spark { top:80px; font-size:36px; }
  .cta-orbit { width:220px; height:220px; }
  .conversation-cta .download-actions { flex-direction:column; align-items:flex-start; gap:6px; }
  .home-questions-intro h2 { font-size:37px; }
  .home .home-faq summary { font-size:15px; }
}
@media(max-width:700px) {
  .home-questions { grid-template-columns:1fr; gap:28px; padding-top:5px; padding-bottom:50px; }
  .home-questions-intro h2 { font-size:33px; margin:15px 0 13px; }
  .home-questions-intro h2 br,.home-questions-intro p br { display:none; }
  .home-questions-intro p { font-size:13px; }
  .home-questions-intro .text-link { margin-top:9px; font-size:12px; }
  .home .home-faq summary { font-size:15px; padding-block:21px; min-height:80px; }
  .home .home-faq .faq-answer { font-size:13px; padding-right:5px; }
  .home .conversation-cta,.inner-page .conversation-cta { grid-template-columns:1fr; padding:31px 25px 24px; gap:10px; border-radius:23px; margin-inline:24px; }
  .home .conversation-cta h2,.inner-page .conversation-cta h2 { font-size:29px; line-height:1.28; margin:17px 0; }
  .home .conversation-cta p,.inner-page .conversation-cta p { font-size:13px; max-width:none; }
  .home .conversation-cta .eyebrow,.inner-page .conversation-cta .eyebrow { font-size:8px; }
  .conversation-cta .download-actions { flex-direction:row; flex-wrap:wrap; align-items:center; gap:6px 19px; margin-top:23px; }
  .home .conversation-cta .button,.inner-page .conversation-cta .button { font-size:12px; padding-inline:19px; }
  .cta-browser-note { font-size:9px; margin-top:12px; }
  .cta-art { min-height:268px; max-width:330px; width:100%; margin:12px auto 0; }
  .cta-orbit { width:230px; height:230px; }
  .cta-brand { top:3px; width:62px; height:62px; left:calc(50% - 31px); border-radius:20px; }
  .cta-brand>img { width:53px; height:53px; }
  .cta-message-first { top:87px; left:-5px; padding:14px 17px 14px 13px; }
  .cta-message-first strong { font-size:12px; }
  .cta-message-first small { font-size:8px; }
  .cta-message-avatar { width:29px; height:29px; }
  .cta-message-reply { top:174px; right:0; padding:16px 15px; font-size:12px; gap:13px; }
  .cta-spark { top:36px; right:5px; font-size:40px; }
  .cta-art-caption { bottom:0; font-size:8px; }
  .not-found { padding-top:36px; padding-bottom:51px; }
  .not-found-art { height:176px; gap:10px; margin-bottom:26px; }
  .not-found-art>span { font-size:108px; }
  .not-found-art .not-found-zero { width:95px; height:111px; }
  .not-found-zero>img { width:83px; height:83px; }
  .not-found h1 { font-size:34px; }
  .not-found>p { font-size:13px; }
  .not-found>p br { display:none; }
  .not-found-actions { flex-direction:column; gap:10px; }
}
@media(max-width:370px) {
  .mobile-nav { padding-inline:20px; }
  .mobile-nav-links a { font-size:12px; gap:8px; padding:10px; }
  .mobile-nav-links a>.icon { display:none; }
  .mobile-nav-contact { gap:8px; }
  .mobile-nav-contact>span { font-size:10px; }
  .mobile-nav-contact>a { font-size:10px; }
  .home .conversation-cta,.inner-page .conversation-cta { margin-inline:20px; padding-inline:21px; }
  .home .conversation-cta h2,.inner-page .conversation-cta h2 { font-size:26px; }
  .conversation-cta .download-actions { gap:7px 13px; }
  .conversation-cta .download-actions .text-link { font-size:10px; }
  .cta-message-avatar { display:none; }
  .cta-message-first { left:0; }
  .cta-message-reply { right:0; gap:8px; font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  .mobile-nav:not([hidden]),.home-faq details[open] .faq-answer { animation:none; }
  .home-faq details,.home-faq summary .faq-plus { transition:none; }
}
