/* One canvas size per breakpoint, shared by every feature and every step. */
:root{--demo-height:620px}
/* Controls live outside the product canvas; the product stays still while data changes. */
.media-stage{aspect-ratio:auto;height:var(--demo-height);min-height:0;padding:54px 14px 66px;border-radius:22px;background:#f0f3f6;overflow:hidden;border:1px solid #e7ebef}
.browser-window{position:relative;inset:auto;height:100%;border:1px solid #d7dfe3;border-radius:10px;box-shadow:0 4px 15px #24333c08;overflow:hidden}
.browser-toolbar{height:28px;background:#e6ebf0}.demo-scene{height:calc(100% - 28px)}
.media-play{top:5px;left:13px;width:auto;min-width:118px;height:42px;padding:0 13px;display:flex;gap:9px;border-radius:10px;font-size:12px;font-weight:550;box-shadow:none}
.media-play svg{width:13px;height:13px;flex-shrink:0}.media-replay{top:5px;left:137px;height:42px;width:42px;opacity:1;box-shadow:none;background:transparent}
.media-expand{top:5px;bottom:auto;right:12px;height:42px;width:42px;background:transparent;box-shadow:none;border-radius:10px;color:#576472}
.media-expand:hover,.media-replay:hover{background:#e4e9ee}
.frame-indicators{position:absolute;left:14px;right:14px;bottom:9px;transform:none;border-radius:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;gap:7px;background:transparent;min-height:46px}
.frame-indicators button{width:auto;min-width:0;min-height:46px;padding:7px 8px;border:1px solid transparent;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:7px;color:#67727e;font-size:11px;line-height:1.35;text-align:left}
.frame-indicators button>span{height:auto;background:none;border-radius:0}.frame-indicators button .step-number{height:20px;width:20px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;border:1px solid #c6cfd7;font-size:10px}
.frame-indicators button[aria-pressed=true]{background:white;border-color:#e0e4e7;color:#913f2c;box-shadow:0 1px 3px #303c4306}
.frame-indicators button[aria-pressed=true]>span{background:none}.frame-indicators button[aria-pressed=true] .step-number{background:#fff0e8;border-color:#edc7b7}
.frame-indicators button:hover{background:#fff9f5}
#demo-progress{position:absolute;left:15px;right:15px;bottom:62px;width:calc(100% - 30px);height:2px;border:0;border-radius:0;appearance:none;background:#e2e7eb;color:#d0806b}
#demo-progress::-webkit-progress-bar{background:#e2e7eb}#demo-progress::-webkit-progress-value{background:#cd7d69}#demo-progress::-moz-progress-bar{background:#cd7d69}
.demo-caption-row{display:flex;align-items:start;justify-content:center;gap:18px;margin-top:12px;min-height:54px}
.demo-caption-row .media-note{width:100%;font-size:12px;text-align:center;color:#5d6873;line-height:1.6;margin:0;padding:7px 0;min-height:0}
.media-stage.is-zoomed{height:min(650px,calc(100dvh - 150px));max-height:none}
#zoom-caption{display:none}

/* Conversation scenes: readable, stable panes with incremental results. */
.demo-scene[data-layout=story]{display:grid;grid-template-columns:1fr 1.08fr;background:#fff;font-size:12px;overflow:hidden}
.story-chat,.story-result{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.story-chat{background:#edf1ea;border-right:1px solid #dde3dc}
.story-chat-head{display:flex;align-items:center;gap:9px;min-height:55px;padding:10px 12px;background:#f7faf6;border-bottom:1px solid #dfe6dc;flex-shrink:0}
.story-avatar{display:grid;place-items:center;width:29px;height:29px;background:#dae7d5;border-radius:50%;color:#53734e;font-size:10px;flex-shrink:0}
.story-chat-head strong{display:block;font-size:12px;font-weight:550}.story-chat-head div>span{display:block;font-size:9px;color:#7b8977}.story-menu{margin-left:auto;color:#6d7e69;font-size:19px}
.story-messages{display:flex;flex:1;min-height:0;flex-direction:column;align-items:start;gap:12px;padding:14px 12px;overflow:auto;scrollbar-width:thin;background-image:radial-gradient(#a2b49825 1px,transparent 1px);background-size:17px 17px}
.story-date{align-self:center;font-size:9px;padding:3px 9px;border-radius:5px;background:#ffffffbb;color:#7a8476}
.story-message{max-width:96%;padding:10px 11px 6px;background:#fff;border-radius:3px 11px 11px 11px;box-shadow:0 1px 2px #25482212;animation:message-arrive .32s ease-out both;flex-shrink:0}
.story-message p{font-size:12px;line-height:1.65;color:#2f3c2e}.story-message small{display:block;font-size:8px;margin-top:5px;color:#7b8876;text-align:right}.story-message small>span{color:#448496;margin-left:3px}
.story-message-out{align-self:end;background:#dcefd7;border-radius:11px 3px 11px 11px}
.story-composer{display:flex;align-items:center;gap:10px;background:#f8faf7;padding:8px 12px;color:#9ba895;flex-shrink:0;font-size:17px}.story-composer span:nth-child(2){flex:1;padding:6px 10px;background:white;border-radius:12px;font-size:9px}
.story-draft{margin:0 10px 10px;align-self:stretch;border:1px solid #bdcfb5;background:#f7fbf5;border-radius:9px;padding:9px 11px;min-height:84px;flex-shrink:0}
.story-draft>span{display:block;font-size:9px;color:#6e8464;margin-bottom:5px}.story-draft p{font-size:12px;line-height:1.65;color:#52674a}.story-draft i{display:inline-block;width:1px;height:12px;background:#587549;margin-left:2px;vertical-align:middle;animation:typing-caret 1s steps(2) infinite}
.story-result{position:relative;background:#fffcf7}.story-panel-head{display:flex;align-items:center;justify-content:space-between;min-height:55px;gap:8px;padding:12px 16px;border-bottom:1px solid #ebe7df;background:#fffdf9;flex-shrink:0;font-size:10px;color:#7a7971}
.story-panel-head strong{font-size:12px;color:#455166;font-weight:550}.story-panel-head>span:last-child{margin-left:auto;font-size:9px}.story-panel-head .calendar-glyph{width:24px;height:26px}
.story-status{display:flex;align-items:center;gap:6px;padding:10px 16px 0;font-size:9px;color:#88887b;flex-shrink:0;min-height:30px}
.story-status i{display:grid;place-items:center;width:16px;height:16px;font-style:normal;border-radius:50%;color:#929b87}.story-status.is-saved{color:#527a4c}.story-status.is-saved i{background:#edf4e9;color:#4c8046}
.story-card{padding:12px 16px 16px;overflow:auto;scrollbar-width:thin}
.story-client{display:flex;align-items:center;gap:9px;margin-bottom:13px}.story-client h3{font-size:14px;font-weight:550;line-height:1.4;margin:0}.story-client p{font-size:10px;line-height:1.5;color:#888579;margin-top:3px}
.story-field{padding:9px 0;border-top:1px solid #eae5da;animation:field-arrive .4s ease-out both;min-height:54px}.story-field>span{font-size:9px;color:#8a8174;display:block}.story-field p{font-size:12px;line-height:1.55;margin-top:4px;color:#3f3b35;animation:field-arrive .35s ease-out both}
.story-placeholder{display:block;width:73%;height:6px;border-radius:3px;background:#eae7dd;margin-top:12px}.story-field.is-pending{opacity:.65}
.story-field[data-motion-key=field-next]:not(.is-pending){padding:9px 10px;border-radius:7px;background:#f7eadb;border:0;margin-top:6px}
.story-calendar-result{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #dce7f7;border-radius:8px;background:#eff5ff;margin-top:10px;animation:field-arrive .45s ease-out both}.story-calendar-result strong{font-size:10px;font-weight:550;color:#446797;display:block}.story-calendar-result p{font-size:10px;color:#6d829e;margin-top:3px}
.story-source{font-size:11px;line-height:1.5;color:#4274a5;min-height:40px;display:flex;align-items:center;gap:6px;padding:8px 0;text-align:left;flex-shrink:0}.story-source:hover{text-decoration:underline;text-underline-offset:3px}
.story-source-quote{background:#f6ecdf;border-left:2px solid #d9957c;padding:10px;font-size:11px;line-height:1.6}
.story-agenda{background:#fff}.story-agenda .story-panel-head{background:#fff}.story-agenda .story-status{padding-bottom:10px}
.story-calendar-body{overflow:hidden;flex:1}.story-agenda .calendar-week{padding-top:4px}.story-agenda .calendar-grid{height:180px}.story-agenda .calendar-block{width:calc(40% - 5px);padding:8px;min-height:73px}.story-agenda .calendar-block strong{font-size:10px}.story-agenda .calendar-block span{font-size:9px}
.story-event{position:absolute;inset:89px 14px 13px;padding:19px 18px;background:white;border:1px solid #d4dfef;box-shadow:0 5px 20px #3a537b15;border-radius:11px;overflow:auto;scrollbar-width:thin;animation:event-open .35s ease-out both}
.story-event-label{color:#6f7d8f;font-size:10px}.story-event h3{font-size:18px;line-height:1.4;margin:12px 0 8px;font-weight:550;color:#33435c}.story-event>p{font-size:12px;color:#768294;line-height:1.6}.story-reminder{display:flex;gap:8px;align-items:center;padding:13px 0;margin-top:14px;border-top:1px solid #e7edf5;font-size:11px;color:#627693}.story-reminder>span{font-size:18px}
.story-result .prepared-body textarea{font-size:13px;min-height:90px}
.motion-focus{animation:focus-arrive .55s ease-out both}.coach-progress>span{font-size:11px;line-height:1.6;color:#7b817d;margin-left:5px}.coach-progress{align-items:center}
.media-stage[data-playing=false] .story-draft i,.media-stage[data-playing=false] .coach-progress i{animation-play-state:paused!important}
@keyframes message-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes field-arrive{from{opacity:.45;transform:translateY(3px)}to{opacity:1;transform:none}}
@keyframes event-open{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes focus-arrive{from{filter:brightness(1.1);transform:translateY(3px)}to{filter:none;transform:none}}
@keyframes typing-caret{50%{opacity:0}}
@media(min-width:1100px){.story-message p,.story-field p{font-size:13px}.story-client h3{font-size:16px}.story-card{padding:16px 19px}.story-status{padding-inline:19px}.story-messages{padding:18px 16px;gap:15px}}
@media(max-width:900px) and (min-width:681px){.story-message p,.story-field p{font-size:14px}.story-client h3{font-size:17px}.story-messages{padding:20px;gap:18px}}
@media(max-width:680px){
  :root{--demo-height:640px}
  .media-stage,.media-stage.is-zoomed{height:var(--demo-height);min-height:0;padding:53px 0 67px;max-height:none;border-radius:16px;aspect-ratio:auto}
  .browser-window{height:100%;border-radius:0;border-inline:0;overflow:hidden}
  .browser-toolbar{height:28px}.demo-scene,.demo-scene[data-layout]{height:calc(100% - 28px);min-height:0;overflow:auto}
  .demo-scene>div,.demo-scene>section{height:100%;min-height:0}
  .media-play{top:5px;left:10px;width:auto;min-width:125px;height:42px;font-size:13px}.media-replay{top:5px;left:140px}.media-expand{top:5px;right:8px}
  .frame-indicators{position:absolute;left:6px;right:6px;bottom:7px;margin:0;min-height:48px;padding:0;gap:3px;background:transparent}
  .frame-indicators button{min-width:0;min-height:48px;padding:6px 5px;font-size:11px;gap:5px}.frame-indicators button .step-number{width:18px;height:18px;font-size:9px;flex-shrink:0}
  #demo-progress{left:0;right:0;width:100%;bottom:62px}
  .demo-caption-row{gap:12px;min-height:74px;padding-inline:6px}.demo-caption-row .media-note{font-size:12px}
  .demo-scene[data-layout=story]{display:block;height:calc(100% - 28px);overflow:hidden}.story-chat,.story-result{height:100%;min-height:0}
  .demo-scene[data-layout=story][data-step="0"]>.story-result,.demo-scene[data-layout=story]:not([data-step="0"])>.story-chat{display:none}
  .story-messages{padding:18px 16px;gap:15px}.story-message{max-width:94%;padding:11px 13px 7px}.story-message p,.story-draft p{font-size:14px;line-height:1.6}.story-message small{font-size:10px}.story-chat-head{padding:12px 16px;min-height:56px}.story-chat-head strong{font-size:14px}.story-chat-head div>span{font-size:10px}.story-date{font-size:10px}.story-composer{padding:8px 16px}.story-composer span:nth-child(2){font-size:12px}.story-draft{min-height:88px}.story-draft>span{font-size:11px}
  .story-panel-head{min-height:51px;padding:12px 18px}.story-panel-head>span:last-child{font-size:11px}.story-panel-head strong{font-size:13px}.story-status{font-size:11px;padding:9px 18px 0;min-height:30px}.story-card{padding:12px 18px 16px}.story-client{margin-bottom:10px}.story-client h3{font-size:17px}.story-client p{font-size:11px}.story-field{padding:9px 0;min-height:55px}.story-field>span{font-size:11px}.story-field p{font-size:14px;line-height:1.5}.story-source{font-size:13px;min-height:44px}.story-calendar-result strong,.story-calendar-result p{font-size:12px}
  .story-agenda .calendar-block{min-height:73px}.story-agenda .calendar-block strong{font-size:11px}.story-agenda .calendar-grid{height:200px}.story-event{inset:87px 14px 14px;padding:20px}.story-event h3{font-size:21px}.story-event>p,.story-reminder{font-size:14px}.story-event-label{font-size:12px}
  .phone-side{min-height:0!important}.phone-target,.payment-target,.crm-destination,.clean-panel,.fica-panel,.translation-chat,.reply-panel{overflow:auto;scrollbar-width:thin}
  .phone-target>.prepared-chat{height:auto;min-height:100%}.prepared-body textarea{flex-shrink:0}
  .demo-scene[data-layout=crm]{display:block}
  #zoom-dialog .media-stage{height:var(--demo-height)}.media-stage.is-zoomed .demo-scene{min-height:0}
}
@media(prefers-reduced-motion:reduce){.media-stage *, .media-stage *:before,.media-stage *:after{animation:none!important;transition:none!important}.story-draft i{display:none}}

.media-stage[data-playing=false] .media-replay{display:none}
.story-calendar-body[inert]{opacity:.4}
@media(min-width:1100px){.story-card{padding-bottom:8px}.story-client{margin-bottom:9px}}

.story-pointer{position:absolute;right:10px;bottom:-8px;pointer-events:none;animation:pointer-open 1.8s ease-in-out both;filter:drop-shadow(0 2px 2px #0002)}
@keyframes pointer-open{0%{opacity:0;transform:translate(18px,16px)}30%,70%{opacity:1;transform:none}80%{opacity:1;transform:scale(.85)}100%{opacity:0;transform:none}}
.media-stage[data-playing=false] .story-pointer{display:none}
@media(prefers-reduced-motion:reduce){.story-pointer{display:none}}
@media(max-width:680px){
  html{scroll-padding-top:190px}
  .mobile-features{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:8px}
  .mobile-features-label{grid-column:1;grid-row:1;margin:0;padding-right:7px;gap:10px}
  .mobile-features-controls{display:contents}
  .mobile-features-controls button{height:44px}
  #mobile-previous{grid-column:2;grid-row:1}#mobile-next{grid-column:3;grid-row:1}
  .mobile-select{grid-column:1/-1;grid-row:2}
  #mobile-feature{font-size:15px}
}

/* The overview begins with the actual entry point: the pinned Chrome extension. */

.extension-launcher,.extension-hint,.extension-pointer{display:none}
.browser-window[data-overview=true] .browser-toolbar{height:48px;padding:0 8px;gap:10px;position:relative;z-index:4}
.browser-window[data-overview=true] .browser-address{height:27px;font-size:10px;min-width:0}
.browser-window[data-overview=true] .browser-menu{display:block}
.browser-window[data-overview=true] .extension-launcher{display:grid;place-items:center;position:relative;flex-shrink:0;width:44px;height:44px;border-radius:8px}
.extension-launcher img{width:25px;height:25px;border-radius:5px;position:relative;z-index:1}
.extension-launcher:hover,.extension-launcher:focus-visible{background:#fff0ea;outline:2px solid #e8b5a7;outline-offset:-3px}
.extension-launcher[aria-expanded=true]{background:#fff5ef}
.browser-window[data-overview=true] .demo-scene{height:calc(100% - 48px);grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);transition:grid-template-columns .55s cubic-bezier(.22,1,.36,1)}
.browser-window[data-overview=true][data-extension-open=false] .demo-scene{grid-template-columns:minmax(0,1fr) minmax(0,0fr)}
.browser-window[data-overview=true] .story-result{opacity:1;transition:opacity .35s ease;box-shadow:-4px 0 12px #28313b09}
.browser-window[data-overview=true][data-extension-open=false] .story-result{opacity:0;visibility:hidden}
.browser-window[data-overview=true] .story-chat{border-right:0}
.browser-window[data-overview=true] .story-message{max-width:96%;width:fit-content}
.browser-window[data-overview=true][data-extension-open=false] .story-message{max-width:75%}
.browser-window[data-overview=true] .story-messages{padding-top:16px}
.extension-hint{position:absolute;z-index:5;right:23px;top:57px;padding:8px 11px;border:1px solid #e8c3b7;border-radius:8px;background:#fff8f3;box-shadow:0 3px 8px #5e3d2810;color:#784733;font-size:11px;pointer-events:none}
.extension-hint:before{content:'';position:absolute;right:15px;top:-5px;width:8px;height:8px;background:#fff8f3;border-left:1px solid #e8c3b7;border-top:1px solid #e8c3b7;transform:rotate(45deg)}
.browser-window[data-overview=true][data-extension-open=false] .extension-hint{display:block}
.extension-pointer{position:absolute;right:20px;top:27px;z-index:6;pointer-events:none;filter:drop-shadow(0 2px 2px #17212d35);transform-origin:4px 2px}
.browser-window[data-overview=true][data-extension-open=false] .extension-pointer{display:block;transform:translate(calc((1 - var(--extension-approach,0)) * -130px),calc((1 - var(--extension-approach,0)) * 150px))}
.browser-window[data-overview=true][data-beat="-1"] .extension-pointer{transform:scale(.88)}
.media-stage[data-has-played=false][data-playing=false] .extension-pointer{display:none}
.extension-click-ring{position:absolute;inset:5px;border-radius:50%;border:2px solid #f47b65;opacity:0;pointer-events:none}
.browser-window[data-overview=true][data-beat="-1"] .extension-click-ring{opacity:calc(1 - var(--extension-click,0));transform:scale(calc(.8 + var(--extension-click,0) * .9))}
@media(max-width:680px){
  .browser-window[data-overview=true] .demo-scene{position:relative;display:block;height:calc(100% - 48px)}
  .browser-window[data-overview=true] .story-chat{display:flex!important;height:100%}
  .browser-window[data-overview=true] .story-result{display:flex!important;position:absolute;inset:0 0 0 12px;transform:translateX(0);transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s;background:#fffcf7;z-index:2;border-left:1px solid #ddd8ce}
  .browser-window[data-overview=true][data-extension-open=false] .story-result{transform:translateX(100%)}
  .browser-window[data-overview=true][data-extension-open=false] .story-message{max-width:91%}
  .browser-window[data-overview=true][data-extension-open=false] .story-messages{padding-top:36px}
  .extension-hint{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.extension-pointer,.extension-click-ring{display:none!important}}
@media(max-width:680px){
  .browser-window[data-overview=true] .extension-hint{top:112px}
  
}


/* A calendar chat link opens a phone with an editable WhatsApp reminder. */

.browser-window[data-calendar-phone=true]{background:transparent;border:0;box-shadow:none;border-radius:0}
.browser-window[data-calendar-phone=true] .browser-toolbar{display:none}
.browser-window[data-calendar-phone=true] .demo-scene{height:100%;display:block;background:transparent;overflow:hidden}
.calendar-phone-view{height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,260px);gap:18px;padding:5px 13px}
.calendar-phone-context{display:flex;flex-direction:column;justify-content:center;align-items:start;min-width:0;gap:22px}
.phone-back{min-height:40px;display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.5;color:#55686c;text-align:left}
.phone-back:hover{color:#293c3b;text-decoration:underline;text-underline-offset:3px}
.phone-event-context{background:#fff;padding:17px;border:1px solid #dfe5ec;border-radius:12px;width:100%}
.phone-event-context>.calendar-glyph{display:inline-grid;vertical-align:middle;margin-right:7px;width:24px;height:27px}
.phone-event-context>span:nth-child(2){font-size:10px;color:#626f80}
.phone-event-context h3{font-size:18px;line-height:1.4;font-weight:550;margin:16px 0 10px;color:#35465b}
.phone-event-context p{font-size:12px;line-height:1.6;color:#65738a}
.phone-event-context small{display:block;margin-top:16px;border-top:1px solid #e6ebf0;padding-top:12px;font-size:10px;color:#69798e}
.calendar-handset{display:flex;flex-direction:column;min-height:0;height:100%;width:100%;max-width:260px;justify-self:center;border:6px solid #35433e;border-radius:28px;overflow:hidden;background:#f7faf7;box-shadow:0 4px 12px #283e3420;color:#304036}
.handset-status{display:flex;align-items:center;justify-content:space-between;position:relative;min-height:20px;padding:3px 14px 0;font-size:8px;font-weight:600;flex-shrink:0}
.handset-status i{position:absolute;top:5px;left:50%;transform:translateX(-50%);height:7px;width:45px;border-radius:6px;background:#35433e}
.handset-header{display:flex;align-items:center;gap:7px;min-height:43px;padding:6px 10px;border-bottom:1px solid #dbe4da;flex-shrink:0}
.handset-header h3{font-size:12px;font-weight:600;line-height:1.3;margin:0}.handset-header div>span{font-size:9px;color:#719078}.handset-menu{margin-left:auto;font-size:19px;color:#75917b}
.handset-messages{display:flex;flex-direction:column;align-items:end;gap:7px;min-height:40px;flex:1;padding:8px 10px;overflow:auto;scrollbar-width:thin;background:#edf1e9;background-image:radial-gradient(#a2b49825 1px,transparent 1px);background-size:17px 17px}
.handset-date{align-self:center;font-size:8px;background:#fff9;border-radius:5px;padding:3px 7px;color:#718069;flex-shrink:0}
.handset-bubble{max-width:94%;background:#dcefd7;border-radius:9px 2px 9px 9px;padding:7px 9px 5px;box-shadow:0 1px 2px #25482212;flex-shrink:0}
.handset-bubble p{font-size:11px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.handset-bubble small{display:block;text-align:right;font-size:8px;margin-top:3px;color:#75886b}.handset-bubble small>span{color:#448496;margin-left:2px}
.handset-compose{margin:7px 7px 0;padding:8px;border:1px solid #cfdcd0;border-radius:13px;background:white;flex-shrink:0}
.handset-compose label{font-size:9px;color:#697e6a;display:block;margin-bottom:5px}
.handset-compose textarea{display:block;width:100%;height:96px;min-height:0;padding:0;resize:none;border:0;border-radius:0;background:white;color:#2f3c2e;font:inherit;font-size:13px;line-height:1.5;scrollbar-width:thin}
.handset-compose textarea:focus{outline:2px solid #99c7a7;outline-offset:3px;border-radius:3px}
.handset-compose-actions{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:6px}
.handset-compose-actions>span{font-size:8px;color:#819081;line-height:1.4;max-width:80px}
.handset-compose-actions button{display:flex;align-items:center;gap:6px;min-height:34px;padding:7px 10px;border-radius:18px;background:#247451;color:white;font-size:10px;flex-shrink:0}
.handset-compose-actions button:hover{background:#1a6343}.handset-compose-actions button:disabled{opacity:.45;cursor:default}
.handset-delivered{padding:12px 9px 4px;text-align:center;flex-shrink:0}.handset-delivered p{font-size:11px;color:#487553}.handset-delivered button{font-size:11px;min-height:36px;color:#46695a;text-decoration:underline;text-underline-offset:3px}
.handset-home{width:55px;height:3px;border-radius:3px;background:#35433e;margin:8px auto 5px;flex-shrink:0}
/* A promise in the chat becomes a dated reminder, then a return to that chat. */

.followup-wait{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;text-align:center;color:#7a8479}
.followup-clock{font-size:43px;color:#b5c1af;margin-bottom:15px}
.followup-wait h3{font-size:16px;font-weight:550;line-height:1.5;color:#5c6c59;margin:0 0 9px}
.followup-wait p{font-size:12px;line-height:1.7;max-width:210px}
.followup-summary{padding:13px 18px 6px;overflow:auto;scrollbar-width:thin}
.followup-field-label,.followup-deadline div>span{display:block;font-size:10px;color:#827d70}
.followup-summary h3{font-size:19px;line-height:1.4;font-weight:550;color:#3c483d;margin:5px 0 14px}
.followup-deadline{display:flex;gap:10px;align-items:center;padding:11px 13px;background:#f3ecdf;border-radius:9px}
.followup-deadline strong{display:block;font-size:15px;font-weight:550;margin-top:4px;color:#504d40}
.followup-summary blockquote{font-size:11px;line-height:1.6;color:#747469;border-left:2px solid #d2c5ac;padding-left:11px;margin:14px 0}
.followup-summary blockquote>span{display:block;font-size:9px;color:#959083;margin-bottom:4px}
.followup-saved{display:flex;gap:8px;align-items:center;color:#486b55}
.followup-saved>span{font-size:15px}.followup-saved strong{font-size:11px;font-weight:550}.followup-saved p{font-size:10px;margin-top:4px;color:#7a8276}
.followup-day-context{align-self:center;padding:10px 6px;min-width:0}
.followup-day-context>span{font-size:11px;color:#7d877c}
.followup-day-context h3{font-size:24px;line-height:1.3;font-weight:550;letter-spacing:-.5px;margin:13px 0;color:#34493b}
.followup-day-context p{font-size:13px;line-height:1.7;color:#6b796c;max-width:230px}
.followup-handset{background:#fff}
.followup-calendar-head{display:flex;align-items:center;gap:9px;padding:12px 13px;border-bottom:1px solid #e7ece9}
.followup-calendar-head .calendar-glyph{width:24px;height:26px}.followup-calendar-head strong{font-size:12px;font-weight:550}
.followup-phone-event{padding:15px 16px 8px;flex:1;min-height:0;overflow:auto;scrollbar-width:thin}
.followup-alert{display:flex;align-items:center;gap:6px;color:#467350;font-size:10px;background:#eff6ec;border-radius:7px;padding:7px 8px}
.followup-alert>span{font-size:17px}
.followup-phone-event h3{font-size:20px;line-height:1.4;font-weight:550;margin:13px 0 9px;color:#33463a}
.followup-event-date{font-size:10px;color:#758679;line-height:1.5}
.followup-event-reason{font-size:12px;line-height:1.6;margin:17px 0;color:#647667}
.followup-chat-link{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:10px 13px;width:100%;background:#e8f3e8;border:1px solid #c6ddc8;border-radius:8px;color:#35734b;font-size:12px;text-align:left}
.followup-chat-link:hover{background:#daeddd}.followup-phone-event>small{display:block;margin-top:6px;font-size:9px;color:#8a998b;text-align:center}
@media(max-width:680px){
  
  .followup-summary{padding:12px 18px 6px}.followup-summary h3{font-size:20px;line-height:1.35;margin-bottom:10px}.followup-field-label,.followup-deadline div>span{font-size:11px}
  .followup-deadline strong{font-size:17px}.followup-summary blockquote{font-size:12px;line-height:1.5;margin:10px 0}.followup-summary blockquote>span{font-size:10px}.followup-saved strong{font-size:12px}.followup-saved p{font-size:11px}
  .followup-day-context{display:none}.followup-phone-view{padding-top:8px}
  .followup-phone-event{padding:15px 17px 8px}.followup-phone-event h3{font-size:21px;margin-top:13px}.followup-event-date{font-size:12px}.followup-event-reason{font-size:13px}.followup-alert{font-size:12px}.followup-chat-link{font-size:14px}
}
@media(max-width:680px){
  
  .calendar-phone-view{display:flex;flex-direction:column;gap:4px;padding:0 12px 4px}
  .calendar-phone-context{display:block;flex-shrink:0}.phone-event-context{display:none}.phone-back{min-height:44px;font-size:12px}
  .calendar-handset{flex:1;min-height:0;align-self:center;max-width:280px}
  .handset-header h3{font-size:14px}.handset-header div>span{font-size:10px}
  .handset-date{display:none}
  .handset-bubble p{font-size:12px}.handset-compose textarea{height:108px;font-size:14px;line-height:1.5}
  .handset-compose label{font-size:10px}.handset-compose-actions>span{font-size:9px}.handset-compose-actions button{min-height:44px;font-size:12px}
}

@media(max-width:360px){.media-stage:has(.demo-scene[data-feature=followup]) .frame-indicators button{flex-direction:column;gap:2px;font-size:10px;padding:4px 2px}.media-stage:has(.demo-scene[data-feature=followup]) .step-number{width:16px;height:16px}}

/* Payment reminders: agreed price, a manual setup, then a check on the due date. */

.payment-preview{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;padding:10px 12px;min-height:42px;border:1px solid #c6d8c5;background:#eaf3e6;color:#3e6544;border-radius:8px;font-size:12px;text-align:left}
.payment-preview:hover{background:#e0eedc}
.payment-day-copy>span{font-size:11px;color:#8b7b6c}
.payment-day-copy h3{font-size:24px;line-height:1.35;letter-spacing:-.4px;font-weight:550;margin:14px 0;color:#514535}
.payment-day-copy p{font-size:13px;line-height:1.7;color:#817264}
.payment-handset{background:#fff}
.payment-phone-event{padding:15px 16px 9px;flex:1;min-height:0;overflow:auto;scrollbar-width:thin}
.payment-alert{font-size:10px;color:#886238;display:flex;align-items:center;gap:6px}.payment-alert>span{font-size:17px}
.payment-phone-event h3{font-size:18px;line-height:1.35;font-weight:550;margin:10px 0 7px;color:#494538}
.payment-due-amount{font-size:28px;line-height:1.3;font-weight:550;color:#4c483b;display:block;letter-spacing:-.7px}
.payment-due-date{font-size:11px;line-height:1.5;color:#7d7d70;margin-top:5px}
.payment-repeat-pill{display:inline-block;font-size:10px;line-height:1.5;margin-top:8px;padding:4px 8px;border-radius:5px;background:#f6f0e3;color:#907247}
.payment-check-note{font-size:12px;line-height:1.55;padding-top:13px;border-top:1px solid #edeae2;margin:15px 0 13px;color:#757664}
.payment-phone-event>small{display:block;font-size:9px;color:#8a998b;margin-top:5px;text-align:center}
@media(max-width:680px){
  
  .payment-preview{min-height:44px;font-size:13px}
  .payment-day-copy{display:none}
  .payment-phone-event{padding:12px 17px 7px}.payment-alert{font-size:12px}.payment-phone-event h3{font-size:20px;margin:8px 0 5px}.payment-due-amount{font-size:30px}.payment-due-date{font-size:12px}.payment-repeat-pill{font-size:11px}.payment-check-note{font-size:13px;margin:10px 0;padding-top:8px}
}
@media(max-width:360px){.media-stage:has(.demo-scene[data-feature=payments]) .frame-indicators button{flex-direction:column;gap:2px;font-size:10px;padding:4px 2px}.media-stage:has(.demo-scene[data-feature=payments]) .step-number{width:16px;height:16px}}

/* Visual pass: legible controls and enough room for complete results. */
.media-play,.media-replay,.media-expand{height:44px}.media-replay,.media-expand{width:44px}
.media-play svg{width:16px;height:16px}.media-expand svg,.media-replay svg{width:20px;height:20px}
.story-source{min-height:44px}.phone-back{min-height:44px}
.story-source>span,.followup-chat-link>span,.payment-preview>span{font-size:18px;line-height:1;min-width:20px;flex-shrink:0;text-align:center}
.translate-button{min-height:44px}
@media(min-width:681px){.translate-button{font-size:12px}}


.report-periods button{min-height:40px;font-size:12px}.report-title{font-size:17px}
.coach-finding>h3{font-size:14px;line-height:1.5}.coach-finding>p,.coach-waiting{font-size:12px;line-height:1.6}
.coach-finding .clean-link{font-size:12px;min-height:44px}.coach-finding blockquote{font-size:12px;line-height:1.6}
.coach-metrics dt{font-size:10px}.coach-metrics dd{font-size:21px}
@media(max-width:680px){
  
  
  
  
  
  .coach-report{padding:14px 16px}.report-periods{margin-bottom:10px}.report-periods button{min-height:44px;font-size:13px}
  .report-title{font-size:18px;margin-bottom:10px}.coach-metrics>div{padding:10px}.coach-metrics dt{font-size:11px}.coach-metrics dd{font-size:22px}
  .coach-finding>h3{font-size:15px;margin:8px 0;line-height:1.5}.coach-finding>p,.coach-waiting{font-size:14px;line-height:1.55}
  .coach-finding .clean-link{font-size:14px;min-height:44px}.coach-finding blockquote{font-size:13px;line-height:1.5;padding:10px}
}
@media(max-width:360px){
  .frame-indicators button{flex-direction:column;gap:2px;font-size:10px;padding:4px 2px}
  .frame-indicators button .step-number{width:16px;height:16px}
}

/* Payment story starts with a saved reminder, then follows the Calendar link. */

.demo-scene[data-layout=payment-reminder]{display:block;background:#f6f8f5}
.payment-dashboard{height:100%;overflow:auto;scrollbar-width:thin}
.payment-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 20px;border-bottom:1px solid #e0e6dd;background:#fff;font-size:12px;color:#5b6a57}
.payment-dashboard-body{padding:18px 20px;display:flex;justify-content:center}
.payment-saved-card{width:100%;max-width:390px;padding:20px;border:1px solid #d9e3d5;border-radius:14px;background:#fff;box-shadow:0 3px 10px #30492a05}
.payment-active{display:flex;align-items:center;gap:7px;color:#3c7351;font-size:11px;line-height:1.4}
.payment-active>span{display:grid;place-items:center;background:#e9f3e6;width:21px;height:21px;border-radius:50%;font-size:13px}
.payment-saved-client{display:flex;gap:10px;align-items:center;margin:20px 0 18px}
.payment-saved-client .story-avatar{width:38px;height:38px;flex-shrink:0;font-size:12px;background:#eee6f4;color:#745f87}
.payment-saved-client h3{font-size:18px;line-height:1.4;font-weight:550;margin:0}
.payment-saved-client p{font-size:12px;color:#7c8477;margin-top:3px}
.payment-saved-amount{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;border-block:1px solid #edf0e9}
.payment-saved-amount>span,.payment-saved-card dt{font-size:11px;color:#798273}
.payment-saved-amount strong{font-size:27px;line-height:1.3;font-weight:550;letter-spacing:-.7px}
.payment-saved-card dl{margin:14px 0;display:grid;gap:12px}
.payment-saved-card dl>div{display:flex;justify-content:space-between;gap:15px}
.payment-saved-card dd{margin:0;font-size:12px;text-align:right;color:#45553e;line-height:1.5}
.payment-calendar-ready{display:flex;align-items:center;gap:8px;font-size:11px;color:#6c7d65;margin:18px 0}
.payment-calendar-ready .calendar-glyph{width:22px;height:25px;font-size:12px}
.payment-preview{min-height:44px}
.payment-walkthrough{grid-template-columns:minmax(0,1fr) minmax(0,280px);gap:16px}
.payment-walkthrough .calendar-handset{max-width:280px}
.payment-walkthrough .handset-header h3{font-size:13px}
.payment-lockscreen{background:linear-gradient(155deg,#e2eee2,#d8e6f0 65%,#eee9df)}
.payment-lock-clock{display:grid;text-align:center;gap:5px;margin:32px 0 28px;color:#344e49}
.payment-lock-clock strong{font-size:48px;letter-spacing:-2px;font-weight:450;line-height:1.2}
.payment-lock-clock>span{font-size:12px}
.payment-notification{display:flex;flex-direction:column;align-items:stretch;gap:8px;background:#fffffff2;border:1px solid #ffffffd9;border-radius:15px;padding:14px;margin:0 9px;text-align:left;color:#3c4b42;box-shadow:0 3px 12px #435d4c12;line-height:1.5;font-size:12px}
.payment-notification:hover{background:white;box-shadow:0 3px 12px #435d4c25}
.payment-notification-head{display:flex;align-items:center;gap:6px;font-size:10px}
.payment-notification-head .calendar-glyph{width:19px;height:21px;font-size:10px}
.payment-notification-head small{margin-left:auto;color:#829082;font-size:9px}
.payment-notification-title{font-size:14px;line-height:1.5;font-weight:600}
.payment-notification-open{display:flex;align-items:center;justify-content:space-between;color:#3c7055;font-size:11px;padding-top:6px}
.payment-notification-open>span{font-size:18px}
.payment-lock-space{flex:1;min-height:15px}
.payment-chat-messages{display:flex;flex-direction:column;gap:7px;flex:1;min-height:0;padding:9px 9px;overflow:auto;scrollbar-width:thin;background:#edf1e9;background-image:radial-gradient(#a2b49825 1px,transparent 1px);background-size:17px 17px}
.payment-message{max-width:94%;align-self:start;background:#fff;padding:7px 9px 4px;border-radius:2px 9px 9px 9px;box-shadow:0 1px 2px #25482212;flex-shrink:0}
.payment-message.is-outgoing{align-self:end;background:#dcefd7;border-radius:9px 2px 9px 9px}
.payment-message p{font-size:12px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.payment-message>small{display:block;text-align:right;font-size:8px;line-height:1.3;margin-top:2px;color:#788873}
.payment-message>small>span{color:#39879b}
.payment-typing{align-self:start;color:#6d8169;font-size:11px;padding:6px 3px}
.payment-pix-card{display:flex;gap:8px;background:#f6fbf4a6;border:1px solid #c4ddbd;border-radius:6px;padding:8px;margin-top:7px}
.payment-pix-symbol{font-size:25px;line-height:1.2;color:#418f80}
.payment-pix-card>div{display:grid;gap:2px;min-width:0}
.payment-pix-card strong{font-size:12px;font-weight:600;color:#37664b}
.payment-pix-card span:not(.payment-pix-symbol){font-size:11px;color:#4a6550}
.payment-pix-card small{font-size:9px;line-height:1.4;color:#71856d;overflow-wrap:anywhere}
.payment-link-compose{margin:7px 7px 0;padding:10px;border:1px solid #cfdcd0;border-radius:13px;background:#fff;flex-shrink:0}
.payment-link-compose p{font-size:12px;line-height:1.5}
.payment-link-compose>span{display:block;overflow-wrap:anywhere;font-size:10px;color:#518068;line-height:1.5;margin:5px 0 8px}
.payment-link-compose button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;background:#247451;color:#fff;font-size:12px;border-radius:18px;padding:8px 10px}
.payment-link-compose button:hover{background:#1a6343}
.payment-chat-restart{min-height:44px;font-size:11px;color:#557960;line-height:1.5;padding:7px 12px;flex-shrink:0;text-decoration:underline;text-underline-offset:3px}
.payment-empty-composer{display:flex;align-items:center;gap:9px;height:35px;flex-shrink:0;margin:4px 10px 0;color:#81907d;font-size:17px}
.payment-empty-composer i{flex:1;height:25px;background:white;border-radius:15px}
.payment-chat-handset .handset-compose-actions button{min-height:44px;font-size:12px}
.payment-chat-handset .handset-compose textarea{height:108px}
.payment-click-target{position:relative}
.payment-demo-pointer{position:absolute;right:8px;bottom:-9px;pointer-events:none;z-index:2;opacity:0;filter:drop-shadow(0 2px 2px #21312638)}
.media-stage[data-playing=true] .payment-demo-pointer{opacity:clamp(0,calc(var(--extension-approach,0)*3),1);transform:translate(calc((1 - var(--extension-approach,0))*28px),calc((1 - var(--extension-approach,0))*26px)) scale(clamp(.84,calc(1 - (var(--extension-click,0) - .85)*1.2),1))}
@media(max-width:680px){
  
  .payment-dashboard-head{padding:14px;font-size:12px}
  .payment-dashboard-body{padding:13px}
  .payment-saved-card{padding:16px}
  .payment-saved-client h3{font-size:16px}.payment-saved-client{gap:8px}
  .payment-saved-card dl>div{gap:8px}.payment-saved-card dt{font-size:11px}.payment-saved-card dd{font-size:12px}
  .payment-saved-amount strong{font-size:25px}
  .payment-message p{font-size:12.5px}
  .payment-walkthrough{gap:4px}
}
@media(prefers-reduced-motion:reduce){.payment-demo-pointer{display:none}}

/* Expanded source excerpts scroll inside the stable product canvas. */
.coach-report{min-height:0;overflow-y:auto;scrollbar-width:thin}
@media(max-width:680px){
  .payment-chat-messages{gap:6px;padding:7px 9px}
  .payment-message{padding:6px 9px 3px}
}

/* The marketing demo mirrors Fica's Coach reports, inside the shared fixed canvas. */
.demo-scene[data-layout=period-coach]{display:block;overflow:hidden;background:#fff8ee}
.period-shell{--period-line:#e5dfd7;--period-muted:#696674;height:100%;min-height:0;display:flex;flex-direction:column;color:#24243b;background:#fff8ee;font-family:Inter,Arial,sans-serif}
.period-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:8px 22px 5px;flex-shrink:0}
.period-brand{display:flex;align-items:center;gap:6px}.period-brand img{display:block}
.period-head>span:last-child{font-size:11px;color:var(--period-muted)}
.period-app-nav{display:flex;gap:4px;padding:0 16px 5px;flex-shrink:0;border-bottom:1px solid var(--period-line)}
.period-app-nav>span{flex:1;min-width:0;padding:5px 4px;border-radius:8px;font-size:12px;line-height:1.5;text-align:center;color:var(--period-muted)}
.period-app-nav .is-current{color:#a33c27;background:#ffebe4}
.period-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c9c1b7 transparent;padding:10px 22px;scroll-padding-block:10px}
.period-shell h3{font-size:21px;line-height:1.25;font-weight:650;letter-spacing:-.45px;margin:0 0 8px;color:#24243b}
.period-shell h4{font-size:13px;line-height:1.5;font-weight:650;margin:0 0 7px;color:#24243b}
.period-shell p{font-size:13px;line-height:1.6;margin:0;overflow-wrap:break-word;color:#24243b}
.period-home>h3{font-size:26px}.period-home .period-lead{font-size:13px;color:var(--period-muted);margin-bottom:14px}
.period-tabs{display:inline-flex;padding:3px;border:1px solid var(--period-line);border-radius:12px;gap:3px}
.period-tabs button{border-radius:9px;min-height:34px;padding:6px 12px;font-size:12px;line-height:1.5;font-weight:550;color:var(--period-muted)}
.period-tabs button[aria-pressed=true]{background:#24243b;color:#fff8ee}
.period-shell .period-schedule{font-size:11px;line-height:1.65;color:var(--period-muted);margin:14px 0}
.period-history{border-block:1px solid var(--period-line);padding:12px 0 4px}
.period-history-title{display:block;font-size:16px;font-weight:650;text-align:left;min-height:36px}
.period-history>p{font-size:13px;line-height:1.6;margin:2px 0}
.period-history-link{font-size:12px;min-height:44px;color:var(--period-muted);text-align:left}
.period-link{display:inline-flex;align-items:center;min-height:34px;font-size:12px;line-height:1.5;text-align:left;color:#a33c27;padding:5px 0}
.period-link:hover,.period-history-link:hover,.period-history-title:hover{text-decoration:underline;text-underline-offset:3px}
.period-report>.period-link{margin:0 0 2px}.period-report h3{font-size:20px;margin-bottom:8px}
.period-report .period-summary{font-size:12px;line-height:1.6}
.period-good,.period-next,.period-metrics{border-top:1px solid var(--period-line);padding-top:9px;margin-top:9px}
.period-good p,.period-next p{font-size:12px;line-height:1.6}.period-next>p+p{margin-top:6px}
.period-metrics dl,.period-detail-metrics{margin:0}.period-metric{padding:6px 0}
.period-metric dt{font-size:12px;line-height:1.5;color:var(--period-muted)}
.period-metric dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 7px;margin:3px 0 0;font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}
.period-metric strong{font-weight:650;white-space:nowrap}.period-before{white-space:nowrap;color:#696674}.period-arrow{color:#a33c27}
.period-shell .period-note{font-size:11px;line-height:1.6;color:var(--period-muted);margin:9px 0}
.period-details{border-top:1px solid var(--period-line);margin-top:6px;padding-top:2px}
.period-details>summary{display:flex;align-items:center;gap:7px;min-height:44px;font-size:12px;line-height:1.5;font-weight:600;cursor:pointer;list-style:none}
.period-details>summary::-webkit-details-marker{display:none}.period-details>summary:before{content:'▸';font-size:13px;flex-shrink:0}.period-details[open]>summary:before{content:'▾'}
.period-evidence{border-top:1px solid var(--period-line);margin-top:12px;padding:13px 0 5px}
.period-evidence>strong{display:block;font-size:13px;margin:8px 0}.period-evidence p{font-size:12px;line-height:1.6}
.period-evidence blockquote{border-left:2px solid #f47b65;margin:12px 0;padding:3px 0 3px 11px}
.period-evidence small,.period-client small{font-size:11px;line-height:1.5;color:var(--period-muted)}
.period-person{display:flex;align-items:center;gap:10px;margin:8px 0 20px}.period-person>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f3e2d6;color:#8e5b38}.period-person h3{margin:0}
.period-client>section{border-top:1px solid var(--period-line);padding:14px 0}.period-client>section p{font-size:13px}.period-client small{display:block;margin-top:7px}
@media(max-width:680px){
 .period-head{padding:9px 13px 7px;min-height:46px}.period-app-nav{padding:0 9px 7px}
 .period-scroll{padding:10px 13px 16px}.period-tabs button{min-height:44px;padding:7px 10px}
 .period-shell h3{font-size:20px}.period-home>h3{font-size:25px}
 .period-report h3{font-size:18px}.period-report .period-summary{font-size:12px}
 .period-link{min-height:44px}.period-metric dd{font-size:14px;gap:3px 5px}
 .period-good,.period-next,.period-metrics{padding-top:10px;margin-top:10px}
}
