/* Cobalt & butter: colour follows the visitor's attention. */
:root {
  --paper:#faf7ef;
  --ink:#252b3f;
  --muted:#646878;
  --line:#d9dce4;
  --sage:#e4ebff;
  --forest:#28313e;
  --gold:#2449be;
  --cobalt:#2449be;
  --butter:#f7e9b7;
  --blue-soft:#e4ebff;
}
::selection { background:#f2d886; color:#252b3f; }
:is(button,a,input,textarea,select,summary):focus-visible { outline-color:#4874ef; }
.site-header .wordmark,.site-footer .wordmark { color:var(--cobalt); }
.brand-dot { background:#d5a532; }
.site-header a:hover,.text-link:hover { color:var(--cobalt); }
.header-cta { background:var(--cobalt); color:white; border:0; border-radius:5px; padding:12px 18px; }
.site-header .header-cta:hover { background:#19399f; color:white; }
.hero { border-top-color:#dedfdc; }
.hero:before { content:''; position:absolute; z-index:-1; inset:18px 10% 20%; background:radial-gradient(ellipse at 50% 38%,#f7e9b76b,transparent 66%); pointer-events:none; }
.hero h1 em,.section-heading h2 em,.faq-section>h2 em { color:var(--cobalt); }
.hero-bottom>span+span:before { color:#a7a9b4; }
.button { border-radius:5px; }
.button.dark { background:var(--cobalt); color:#fff; box-shadow:0 5px 14px #2449be15; }
.button.dark:hover { background:#19399f; }
.hero-actions .text-link { color:var(--cobalt); }
.eyebrow { color:#626a7a; }

/* One raised product window, with a picture and conversation side by side. */
.characters-section { padding-bottom:0; position:relative; }
.characters-section .section-heading { padding-top:56px; padding-bottom:32px; }
.cast-tabs { gap:18px; padding-bottom:14px; }
.cast-tabs button,.cast-tabs button[aria-pressed=true] { border-bottom-color:#d5d9e3; color:var(--muted); }
.cast-tabs button:hover { background:#f0f2f8; border-bottom-color:#a5b8ef; }
.cast-tabs button[aria-pressed=true] { background:var(--blue-soft); color:var(--cobalt); border-bottom-color:var(--cobalt); }
.cast-tabs small { color:var(--muted); }
.character-stage { padding:28px max(32px,calc((100% - 1128px)/2)) 42px; background-color:var(--butter); background-image:radial-gradient(#5b4a2920 .55px,transparent .65px); background-size:5px 5px; }
.rotation-control { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.rotation-control:focus-visible { width:auto; height:auto; clip-path:none; left:50%; transform:translateX(-50%); z-index:5; padding:10px 16px; border:1px solid #c9d5f5; border-radius:5px; background:white; color:var(--cobalt); }
.cast-window { margin:0 auto; max-width:1128px; border-radius:12px; border:1px solid #d9cba8; box-shadow:0 16px 32px #20294220; background:white; }
.cast-scene { background:white; color:var(--ink); }
.scene-bar { height:42px; padding:0 24px; display:flex; justify-content:space-between; align-items:center; gap:20px; background:#2949aa; color:#fffaf0; font:500 12px/1.4 var(--sans); letter-spacing:.6px; text-transform:uppercase; position:relative; z-index:2; }
.scene-bar span:last-child { opacity:.8; font-weight:400; }
.scene-art { top:42px; left:0; width:43%; height:calc(100% - 42px); object-fit:cover; object-position:40% 34%; mask-image:none; z-index:-2; }
.scene-eli .scene-art,.scene-mira .scene-art { object-position:75% 20%; }
.cast-scene:after { content:''; position:absolute; top:42px; bottom:0; left:0; width:43%; background:linear-gradient(transparent 36%,#20273518 58%,#202735c4); z-index:-1; }
.scene-content,.scene-mira .scene-content { display:grid; grid-template-columns:43% 57%; align-items:stretch; min-height:400px; gap:0; padding:0; max-width:none; }
.scene-copy { align-self:end; padding:26px 28px; max-width:none; min-height:0; color:#fffaf0; }
.scene-copy>.eyebrow { color:#fffaf0; font-size:12px; letter-spacing:.4px; max-width:none; }
.scene-copy h3,.scene-mira .scene-copy h3 { font-size:42px; margin:11px 0 0; line-height:1.02; letter-spacing:-.6px; }
.scene-copy h3 em { color:#f7e9b7; }
.scene-copy p,.scene-use { display:none; }
.chat-phone { width:100%; max-width:none; border:0; border-radius:0; transform:none; background:white; color:var(--ink); box-shadow:none; backdrop-filter:none; display:flex; flex-direction:column; justify-self:stretch; }
.chat-header,.eli-phone .chat-header,.mira-phone .chat-header { background:#fff; color:var(--ink); padding:14px 24px; border-bottom:1px solid #e7e9ed; }
.chat-header strong { font-size:15px; }
.chat-header small,.eli-phone .chat-header small { color:var(--muted); font-size:12px; }
.chat-header img { width:34px; height:34px; }
.chat-body,.mira-phone .chat-body,.eli-phone .chat-body { background:#fff; padding:22px 24px; gap:14px; height:218px; min-height:218px; max-height:218px; }
.chat-bubble { background:#f1f3f7; color:#282e43; font-size:15px; padding:12px 16px; max-width:93%; border:1px solid #e9ebf0; border-radius:3px 12px 12px; box-shadow:none; }
.chat-bubble.outgoing { background:var(--cobalt); color:white; border-color:var(--cobalt); border-radius:12px 3px 12px 12px; }
.quick-replies { margin-top:auto; padding:14px 24px; gap:10px; border-top:1px solid #e7e9ed; background:#fff; }
.quick-replies button { background:var(--blue-soft); color:#2346a9; border:1px solid #c9d5f5; border-radius:5px; font-size:14px; min-height:42px; padding:9px 15px; }
.quick-replies button:hover { background:#d5e0fc; border-color:#91a8e8; }
.social-brand { background:#fff; color:#2949aa; padding:12px 24px 0; font-size:22px; }
.mira-phone .chat-header { padding-top:9px; padding-bottom:12px; }
.mira-phone .post-image { display:none; }
#mira-post { flex:1; min-height:169px; background:linear-gradient(120deg,#f6f2ff,#edf1fd); display:flex; align-items:center; }
.post-caption { display:block; padding:20px 28px; max-width:390px; }
.post-caption:before { content:'Tonight’s journal prompt'; font:500 12px/1.5 var(--sans); color:#626b8b; }
.post-caption p { color:#344781; font:34px/1.1 var(--serif); margin-top:12px; }
.mira-phone .chat-body { min-height:169px; height:169px; max-height:169px; padding-block:14px; }

/* The studio is lighter and more analytical, with the traits in the foreground. */
.craft-section { margin-top:0; background:#edf1fb; padding-bottom:56px; }
.craft-section .section-heading,.memory-section .section-heading,.business-section .section-heading { padding-top:56px; padding-bottom:32px; }
.craft-studio { gap:48px; margin:0; }
.character-studies { height:282px; }
.character-studies>img { height:246px; }
.character-studies figcaption { height:36px; }
.personality-profile { margin-top:26px; }
.method-panel { padding-top:24px; }
.intelligence-board { margin-top:24px; padding:23px; }
.character-studies { background:#fff; border-radius:7px; }
.character-studies figcaption { color:#5c6474; background:#fff; }
.personality-trait h3 { color:var(--cobalt); }
.personality-trait p,.method-description p { color:var(--muted); }
.personality-trait i { background:#d4dced; border-radius:3px; overflow:hidden; }
.personality-trait i b { background:#3960ce; }
.personality-trait:nth-child(2) i b { background:#7097ba; }
.personality-trait:nth-child(3) i b { background:#bf8a4d; }
.method-tabs { border-color:#cbd4e8; }
.method-tabs button { color:#667087; }
.method-tabs button[aria-selected=true] { color:var(--cobalt); border-color:var(--cobalt); }
.method-tabs button:hover { color:var(--cobalt); }
.intelligence-board { border:1px solid #d6dfef; border-radius:7px; background:#fff; }
.training-example>.micro { color:#687287; }
.training-example>p { color:#566175; }
.training-response { border-left:3px solid #ebce79; padding-left:14px; }
.training-response p { color:#2449a5; }

/* Memory is a darker chapter. White input, blue saved details, then a reply. */
.memory-section { background-color:#28313e; background-image:radial-gradient(#ffffff0b .55px,transparent .65px); background-size:5px 5px; color:#fff9eb; padding-bottom:56px; }
.memory-experience { gap:32px; }
.memory-portrait { min-height:448px; }
.memory-flow { gap:24px 28px; }
.memory-scenarios { margin-bottom:24px; }
.compose-step form { padding:18px; }
.compose-step textarea { min-height:91px; height:91px; }
.memory-index { padding:13px 18px 15px; }
.memory-section .eyebrow { color:#c3cde3; }
.memory-section .section-heading h2 em { color:#f0d790; }
.memory-section .section-heading>p { color:#d0d8e7; }
.memory-portrait { border-radius:7px; background:#545f68; }
.memory-portrait:after { background:linear-gradient(transparent,#202a3cd9); }
.memory-portrait figcaption span { color:#e5e8f2; }
.memory-scenarios { border-color:#576173; }
.memory-scenarios button { color:#c1cde5; }
.memory-scenarios button[aria-pressed=true] { color:#f7e9b7; border-color:#f7e9b7; }
.step-label>span { color:#afc4f2; }
.compose-step form { background:white; border-radius:6px; box-shadow:none; }
.message-bottom button { background:var(--cobalt); color:white; border-radius:4px; }
.message-bottom button:hover { background:#19399f; }
.memory-index { background:#cbdafa; color:#26376c; border-radius:6px; }
.memory-empty { color:#445780; }
.fact-row input { accent-color:var(--cobalt); }
.memory-index #save-memory { color:#26376c; border-color:#9eb4e3; }
.memory-flow[data-step=review] .memory-index { box-shadow:0 0 0 2px #f0d790; }
.return-conversation { padding:22px; background:#354259; border:1px solid #52617c; border-radius:6px; }
.return-heading small,.return-question,.return-context { color:#d2dcef; }
.return-conversation>p#memory-response { color:#fff9eb; }
.forget-link { color:#d5e0f6; border-color:#697997; }

/* A warmer business chapter and a decisive cobalt close. */
.business-section { padding-bottom:46px; }
.business-grid { gap:30px; }
.community-browser { border:1px solid #d3d9e4; background:#e7edf9; box-shadow:0 9px 22px #2029420c; border-radius:8px; }
.browser-chrome { background:#2949aa; border-color:#2949aa; color:white; }
.community-invite { background:#fff; border-color:#d5dce9; color:#252b3f; border-radius:6px; }
.community-invite small { color:#697386; }
.community-invite button { background:var(--cobalt); color:#fff; border-radius:4px; }
.community-invite button:hover { background:#19399f; }
#rumi-conversation p { color:#35415c; }
#rumi-conversation button { color:var(--cobalt); border-color:#a1b1da; }
.product-display { background:#f7e9b7; border-radius:8px; }
.product-world { object-position:50% 12%; }
.adventure-ticket { background:#f7e9b7f5; color:#493d29; border:1px solid #fff4d9; border-radius:6px; }
.adventure-ticket>div>span { color:#75613d; }
.business-grid article>.eyebrow { color:var(--cobalt); }
.faq-section { border-color:#dadde4; }
.faq-list summary>span { color:var(--cobalt); }
.faq-list details[open] summary { color:var(--cobalt); }
.start-section { background:#2449be; color:#fffaf0; }
.start-section .eyebrow { color:#d2dcff; }
.start-section h2 em { color:#f7e9b7; }
.start-section p { color:#e2e8fb; }
.start-section:before,.start-section:after { border-color:#6e8bea; }
.button.cream { background:#f7e9b7; color:#25356c; }
.button.cream:hover { background:#ffefb9; }
dialog { background:#faf7ef; border-color:#d5dce8; border-radius:10px; box-shadow:0 30px 100px #17223b50; }
dialog::backdrop { background:#1c273ec9; }
dialog input,dialog textarea,dialog select { background:#fff; border-color:#c8d1e3; }
.dialog-close:hover { color:var(--cobalt); }
#brief-text { background:#e4ebff; }
#copy-status { color:#2449a5; }

@media(max-width:1100px) {
 .character-stage { padding-inline:32px; }
 .scene-copy { padding:23px; }
 .scene-copy h3,.scene-mira .scene-copy h3 { font-size:37px; }
 .chat-header,.eli-phone .chat-header,.mira-phone .chat-header { padding-inline:20px; }
 .chat-body,.mira-phone .chat-body,.eli-phone .chat-body { padding-inline:20px; }
 .quick-replies { padding-inline:20px; gap:8px; }
 .quick-replies button { padding-inline:11px; font-size:13px; }
 .return-conversation { padding:15px; }
 .craft-studio { gap:32px; }
 .memory-experience { gap:24px; }
 .memory-flow { gap:22px; }
}
@media(max-width:900px) and (min-width:701px) {
 .scene-content,.scene-mira .scene-content { grid-template-columns:40% 60%; }
 .scene-art,.cast-scene:after { width:40%; }
 .scene-copy { padding:20px; }
 .scene-copy h3,.scene-mira .scene-copy h3 { font-size:35px; }
 .chat-bubble { font-size:14px; padding:10px 13px; }
 .scene-bar { padding-inline:20px; font-size:11px; }
 .return-conversation { padding:12px; }
 .character-studies { height:262px; }
 .character-studies>img { height:226px; }
 .memory-flow { gap:20px; }
 .compose-step form { padding:14px; }
 .compose-step textarea { min-height:115px; height:115px; }
}
@media(max-width:700px) {
 .header-cta { font-size:12px; padding:11px 14px; }
 .cast-tabs { gap:9px; }
 .character-stage { padding:18px 22px 24px; }
 .cast-window { border-radius:9px; box-shadow:0 10px 22px #20294218; }
 .scene-bar { height:36px; padding-inline:17px; font-size:11px; }
 .scene-bar span:last-child { display:none; }
 .scene-content,.scene-mira .scene-content { grid-template-columns:1fr; min-height:0; padding:0; gap:0; }
 .scene-art { top:36px; left:0; width:100%; height:242px; object-position:46% 38%; }
 .scene-eli .scene-art,.scene-mira .scene-art { object-position:75% 18%; }
 .cast-scene:after { top:36px; bottom:auto; width:100%; height:242px; background:linear-gradient(transparent 30%,#2027359c); }
 .scene-copy { height:242px; min-height:0; max-width:none; align-self:auto; display:flex; flex-direction:column; justify-content:end; padding:18px 20px; }
 .scene-copy>.eyebrow { font-size:11px; }
 .scene-copy h3,.scene-mira .scene-copy h3 { font-size:34px; margin-top:8px; }
 .scene-copy h3 br { display:none; }
 .scene-copy h3 em { display:block; }
 .chat-phone { border-radius:0; max-width:none; }
 .chat-header,.eli-phone .chat-header,.mira-phone .chat-header { padding:12px 17px; }
 .chat-header small { font-size:12px; }
 .chat-body,.mira-phone .chat-body,.eli-phone .chat-body { padding:17px; height:210px; min-height:210px; max-height:210px; gap:12px; }
 .chat-bubble { font-size:14px; padding:11px 13px; max-width:97%; }
 .quick-replies { padding:13px 17px; gap:8px; }
 .quick-replies button { font-size:13px; padding:9px 11px; min-height:42px; }
 .social-brand { padding:11px 17px 0; font-size:21px; }
 #mira-post { min-height:169px; }
 .post-caption { padding:20px; }
 .post-caption p { font-size:31px; }
 .mira-phone .chat-body { min-height:169px; height:169px; max-height:169px; }
 .characters-section .section-heading,.craft-section .section-heading,.memory-section .section-heading,.business-section .section-heading { padding-top:40px; padding-bottom:26px; }
 .craft-section,.memory-section { padding-bottom:40px; }
 .character-studies { height:auto; }
 .character-studies>img { height:210px; }
 .personality-profile { margin-top:22px; }
 .memory-portrait { min-height:0; }
 .memory-flow { gap:24px; }
 .compose-step textarea { min-height:94px; height:94px; }
 .method-workbench { border-color:#cbd4e8; }
 .memory-portrait { background:#3c4b61; }
 .memory-portrait:after { background:linear-gradient(90deg,#344259,transparent 80%); }
 .return-conversation { padding:18px; }
 .start-section h2 { font-size:40px; }
}
@media(max-width:360px) {
 .character-stage { padding-inline:18px; }
 .scene-copy { padding-inline:17px; }
 .scene-copy h3,.scene-mira .scene-copy h3 { font-size:32px; }
 .quick-replies { gap:7px; padding-inline:13px; }
 .quick-replies button { padding-inline:9px; font-size:12px; }
}
