.demo-shell:not(.is-revealed) .demo-retry{display:none}
.ora-focus-option{display:inline-flex;align-items:center;gap:6px;padding:4px 7px 4px 5px;border:1px solid #c7defb;border-radius:999px;background:#eef7ff}
.ora-focus-option img{width:18px;height:18px}
.ora-focus-option .tiny-pill{border-color:transparent;background:transparent;padding:7px 8px;color:#0869f5}
.ora-focus-option .tiny-pill[aria-pressed=true]{box-shadow:none}
.step-content h1:focus,.step-content h2:focus{outline:none}
.choice-icon svg{width:21px;height:21px;display:block;stroke-width:1.8}

/* Keep the question and its choices together, with a smaller Ora between steps. */
.onboarding-header{height:auto;min-height:100px;gap:24px}
.progress-wrap{display:grid;gap:8px;width:min(520px,60%)}
.progress-label{color:var(--ink);font-size:13px;font-weight:700}
.progress-track{height:4px}
#progress-stages{display:flex;justify-content:space-between;gap:8px;list-style:none;margin:0;padding:0}
#progress-stages li{display:flex;align-items:center;gap:6px;color:#617795;font-size:12px}
#progress-stages li>span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#e9eff7;font-size:11px}
#progress-stages li[aria-current]{color:var(--blue);font-weight:700}
#progress-stages li[aria-current]>span,#progress-stages .is-done>span{background:var(--blue);color:white}
.onboarding-app{min-height:100dvh;padding-bottom:104px}
.onboarding-layout{grid-template-columns:minmax(200px,.65fr) minmax(440px,1.35fr);gap:40px;padding:24px 0;align-items:center}
.ora-halo{width:min(26vw,290px)}
.onboarding-footer{position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fffffff5;backdrop-filter:blur(12px);padding:14px max(24px,calc((100vw - 1124px)/2)) calc(22px + env(safe-area-inset-bottom));min-height:76px}
.step-kicker{margin-bottom:10px}
.step-content h2{font-size:clamp(26px,2.6vw,36px)}
.step-content>p{margin-bottom:20px;line-height:1.45;font-size:16px}
.choice{min-height:64px;padding:12px;gap:10px}
.step-error:empty{display:none}
.demo-frame{padding:24px 0 12px;min-height:160px}
.demo-frame b{font-size:12px;color:var(--blue)}
.demo-frame p{font-size:20px;line-height:1.45;margin:12px 0}
.demo-intro{color:#617795;line-height:1.5;font-size:15px}
.demo-sequence{display:flex;gap:5px;margin-top:18px}
.demo-sequence span{height:3px;background:#dce8f6;flex:1;border-radius:4px}
.demo-sequence .is-active{background:var(--blue)}
.demo-skip{min-height:44px;color:#506888;text-decoration:underline;text-underline-offset:4px}
.timing-options{border:0;padding:0;margin:22px 0 0;min-width:0}
.timing-options legend{font-weight:700;font-size:15px;margin-bottom:12px}
.recommendation-why{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:start;margin-top:18px;padding:16px;border:1px solid #d9e9fc;border-radius:17px;background:#fff}
.recommendation-why-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e9f4ff;color:#0869f5}
.recommendation-why-icon svg{width:21px;height:21px;stroke-width:1.8}
.recommendation-why b,.plan-panel-heading b{display:block;color:#1e72e8;font-size:10px;letter-spacing:.13em;margin-bottom:5px}
.recommendation-why p{margin:0;color:#526f95;font-size:14px;line-height:1.55}
.plan-panel{margin-top:14px;padding:17px;border-radius:19px;background:linear-gradient(145deg,#1579f5,#0753ce);color:#fff;box-shadow:0 14px 30px #0b62df24}
.plan-panel-heading{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.plan-panel-heading b{color:#cfe5ff;margin-bottom:3px}
.plan-panel-heading strong{font-size:15px;line-height:1.3}
.plan-panel-mark{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:#ffffff1f}
.plan-panel-mark img{width:25px;height:25px;filter:brightness(0) invert(1)}
.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.plan-grid article{display:flex;align-items:center;gap:10px;min-width:0;padding:11px;border:1px solid #ffffff26;border-radius:13px;background:#ffffff14}
.plan-grid article>span{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:10px;background:#ffffff1c}
.plan-grid svg{width:17px;height:17px;stroke-width:1.8}
.plan-grid div{min-width:0}.plan-grid small{display:block;color:#cfe4ff;font-size:9px;letter-spacing:.11em;margin-bottom:3px}.plan-grid strong{display:block;font-size:12px;line-height:1.25;overflow-wrap:anywhere}
.plan-comparison{margin-top:14px;padding:15px;border:1px solid #dce8f7;border-radius:17px;background:#fff}
.plan-comparison-title{display:block;color:#1e72e8;font-size:10px;letter-spacing:.13em;margin-bottom:10px}
.comparison-flow{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:8px;align-items:stretch}
.comparison-card{display:grid;grid-template-columns:31px minmax(0,1fr);gap:9px;align-items:start;min-width:0;padding:12px;border:1px solid #e0e7f0;border-radius:14px;background:#f7f9fc}
.comparison-card.is-with{border-color:#c9e0ff;background:linear-gradient(145deg,#eef7ff,#f8fbff);box-shadow:0 8px 20px #166bd00d}
.comparison-card-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#e9edf3;color:#6f7f95}
.comparison-card-icon svg{width:16px;height:16px;stroke-width:1.9}
.comparison-card.is-with .comparison-card-icon{background:#dcecff;color:#0b67e8}
.comparison-card.is-with .comparison-card-icon img{width:21px;height:21px}
.comparison-card small{display:block;margin:1px 0 5px;color:#73839a;font-size:9px;font-weight:800;letter-spacing:.12em}
.comparison-card.is-with small{color:#0b67e8}
.recommendation .comparison-card p{margin:0;color:#586d89;font-size:12px;line-height:1.45}
.recommendation .comparison-card.is-with p{color:#315d91}
.comparison-arrow{display:grid;place-items:center;color:#8bb7ed}
.comparison-arrow svg{width:18px;height:18px;stroke-width:1.8}
.step-content{animation:step-in .2s ease-out}
@keyframes step-in{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(min-width:801px) and (max-height:780px){.onboarding-header{min-height:84px}.onboarding-layout{padding:18px 0}.choice{min-height:58px;padding:10px}.choice-grid{gap:8px}.step-content>p{margin-bottom:14px}.step-content h2{font-size:28px}.recommendation{padding:18px}.recommendation-controls{margin-top:12px}.recommendation p{margin:12px 0}}
@media(max-width:800px){
 .onboarding-app{padding:0 18px calc(100px + env(safe-area-inset-bottom))}
 .onboarding-header{display:grid;grid-template-columns:1fr auto;min-height:0;gap:10px;padding:12px 0}
 .progress-wrap{grid-row:2;grid-column:1/-1;width:100%;gap:8px}
 .onboarding-header>#exit-button{grid-column:2;grid-row:1;min-width:44px;min-height:32px;padding:4px}
 .progress-label{font-size:12px;margin:0}
 #progress-stages li{font-size:11px;gap:4px}
 #progress-stages li>span{width:18px;height:18px;font-size:10px}
 .onboarding-layout{display:block;padding:18px 0 8px}
 .ora-column{flex-direction:row;justify-content:flex-start;gap:10px;margin:0 0 14px}
 .ora-halo{width:42px;flex:0 0 42px;border:0;background:transparent;box-shadow:none}
 .ora-halo canvas{width:100%;height:100%}
 .ora-caption{margin:0;font-size:12px}.ora-caption .orinha{display:none}
 .step-kicker{display:none}
 .step-content h1{font-size:32px}.step-content h2{font-size:27px;line-height:1.12}
 .step-content>p{font-size:15px;line-height:1.4;margin-bottom:16px}
 .choice-grid{gap:8px}.choice{min-height:56px;padding:11px 12px;border-radius:14px}
 .choice strong{font-size:15px}.choice small{font-size:12px;color:#617795}
 body[data-step="2"] .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-step="2"] .choice{min-height:68px;padding:9px 10px;gap:8px}
 body[data-step="2"] .choice-icon{width:26px;flex-basis:26px;height:30px;background:transparent}
 body[data-step="2"] .choice strong{font-size:14px;line-height:1.2}
 body[data-step="2"] .choice small{display:none}
 body[data-step="2"] .ora-column{display:none}
 body[data-step="1"] .ora-column{justify-content:center;margin-bottom:20px}
 body[data-step="1"] .ora-halo{width:110px;flex-basis:110px}
 body[data-step="1"] .ora-caption{display:none}
 .ora-note{padding:10px 12px;margin-top:12px;font-size:13px}
 .onboarding-footer{gap:10px;padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
 .onboarding-footer .primary-button{font-size:14px;padding:14px 10px;min-height:48px}
 .onboarding-footer .secondary-button{font-size:14px;padding:13px 10px;min-height:48px}
 .demo-frame{min-height:155px;padding:20px 0 8px}.demo-frame p{font-size:18px}
 .demo-top{letter-spacing:.03em;gap:8px}.demo-badge{font-size:9px;padding:7px}
 .timing-options{margin-top:18px}.timing-options .option-row{gap:8px}
 .pill-choice{min-height:44px;padding:10px 13px;font-size:14px}
 .recommendation{padding:16px}.recommendation h2{font-size:23px}
 .recommendation-controls{margin-top:12px}.recommendation-reason{padding:10px;font-size:13px}
 .comparison-flow{grid-template-columns:1fr;gap:7px}.comparison-arrow{height:19px;transform:rotate(90deg)}
 .comparison-card{padding:11px}.plan-comparison{padding:13px}
 .recommendation-ora{display:none}
}

body[data-step="1"] .ora-column{display:flex;height:0;opacity:0;visibility:hidden;transform:translateY(10px) scale(.985);transition:height .58s cubic-bezier(.22,.61,.36,1),opacity .44s ease,transform .58s cubic-bezier(.22,.61,.36,1),visibility 0s linear .58s;overflow:hidden;will-change:height,opacity,transform}
body[data-step="1"].has-name .ora-column{opacity:1;visibility:visible;transform:none;transition:height .42s cubic-bezier(.22,.61,.36,1),opacity .34s ease,transform .42s cubic-bezier(.22,.61,.36,1),visibility 0s;}
body[data-step="1"] .ora-caption{display:flex;line-height:1.5;text-align:center;overflow-wrap:anywhere}
body[data-step="1"] .ora-halo{border:0;background:transparent;box-shadow:none}
body[data-step="1"] .onboarding-layout{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:18px}
body[data-step="1"] .ora-column{order:0;min-height:0;margin:0;gap:8px;justify-content:flex-start}
body[data-step="1"] .ora-halo{width:min(22vw,230px);flex:0 0 auto}
body[data-step="1"] .question-column{order:1;max-width:680px}
body[data-step="1"] .ora-halo.is-typing{animation:ora-type-reaction .38s cubic-bezier(.22,.8,.26,1)}
@keyframes ora-type-reaction{0%{transform:scale(.99) rotate(0deg)}35%{transform:scale(1.025) rotate(-.4deg)}65%{transform:scale(.995) rotate(.4deg)}100%{transform:scale(1) rotate(0deg)}}
.live-ora-fallback{width:100%;height:100%;object-fit:contain}
.trial-brief{display:grid;gap:14px;padding:22px;background:#eff6ff;border:1px solid var(--line);border-radius:20px;margin-bottom:18px}
.trial-brief>span{color:var(--blue);font-size:13px;font-weight:700}
.trial-brief>strong{font-size:22px;line-height:1.35}
.trial-disclaimer{font-size:12px!important;color:#607795!important;line-height:1.5!important;margin:12px 0!important}
body.trial-active .onboarding-app{height:100dvh;min-height:0;padding-bottom:12px}
body.trial-active .onboarding-footer,body.trial-active .step-kicker{display:none}
body.trial-active .onboarding-layout{flex:1;min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(180px,1fr) auto;gap:10px;padding:16px 0 0}
body.trial-active .question-column,body.trial-active #step-content{display:contents}
.trial-heading{grid-row:1;text-align:center}
.trial-heading h2{font-size:24px;margin:0 0 4px}
.trial-heading>span{font-size:13px;color:#607795}
.trial-timer{display:flex;gap:9px;align-items:center;justify-content:center;margin:12px auto 0;width:max-content;background:#edf5ff;padding:8px 16px;border-radius:30px;font-size:20px;font-variant-numeric:tabular-nums}
.trial-timer svg{width:19px;height:19px;color:#5f84b2}.trial-timer small{font-size:12px;color:#607795}
body.trial-active .ora-column{display:flex!important;grid-row:2;flex-direction:column;gap:0;margin:0;min-height:0;align-self:stretch;justify-content:center}
body.trial-active .ora-halo{width:min(24vh,220px);height:min(24vh,220px);max-height:none;min-width:0;min-height:0;flex:0 0 auto;border:0;box-shadow:none;background:transparent;aspect-ratio:1}
body.trial-active .ora-halo canvas{width:100%;height:100%}
body.trial-active .ora-caption{display:flex;margin:0;font-size:16px;color:#355779;font-weight:500}
body.trial-active .ora-caption .orinha{display:none}
.trial-bottom{grid-row:3;text-align:center;width:min(520px,100%);justify-self:center}
.trial-caption{font-size:15px;line-height:1.45;margin:10px auto;min-height:44px;max-width:440px;color:#496887}
.trial-captions{display:inline-flex;align-items:center;gap:7px;padding:6px;min-height:36px}
.trial-captions svg{width:18px;height:18px}
.trial-controls{display:flex;justify-content:center;gap:40px;margin:12px 0}
.trial-controls button{display:flex;flex-direction:column;align-items:center;gap:9px;border:0;background:transparent;color:#425e7f;font-size:13px;min-width:68px}
.trial-controls button>span{width:56px;height:56px;border:1px solid #d7e6fa;background:#eff6ff;border-radius:50%;display:grid;place-items:center}
.trial-controls svg{width:23px;height:23px}
.trial-controls .trial-end>span{background:var(--blue);border-color:var(--blue);color:white;width:64px;height:64px;margin-top:-4px}
.trial-controls button[aria-pressed=true]>span{background:#d9eaff;border-color:#7cb2fb}
.trial-wave{--mic-level:0;--mic-bar-height:10px;display:flex;justify-content:center;gap:5px;align-items:center;height:25px}
.trial-wave i{width:4px;height:10px;border-radius:5px;background:#73afff;animation:voice-wave .9s ease-in-out infinite alternate}
.trial-wave i:nth-child(2n){height:22px;animation-delay:-.3s}.trial-wave i:nth-child(3n){height:16px;animation-delay:-.6s}
body[data-trial-state="paused"] .trial-wave i,body[data-trial-state="muted"] .trial-wave i{animation-play-state:paused;background:#acbbce}
@keyframes voice-wave{to{transform:scaleY(.4);opacity:.5}}
body[data-mic-status="active"] .trial-wave i{height:var(--mic-bar-height)!important;transition:height .1s ease-out}
.trial-mic-status{min-height:18px;margin:2px auto 0;color:#7a91ad;font-size:11px;line-height:1.4}
.trial-mic-status[data-status="active"]{color:#367bd7}
.trial-mic-status[data-status="denied"],.trial-mic-status[data-status="error"]{color:#ad6b73}
@media(max-width:800px){
 body[data-step="1"] .onboarding-layout{display:flex;flex-direction:column;gap:14px;padding-top:12px}
 body[data-step="1"] .question-column{order:1}
 body[data-step="1"] .ora-column{order:0;display:flex;flex-direction:column;margin:0;gap:8px;min-height:0}
 body[data-step="1"] .ora-halo{width:115px;flex:0 0 115px}
 body[data-step="1"] .ora-caption{display:flex;margin:0;font-size:15px;justify-content:center}
 body.trial-active .onboarding-app{padding-bottom:env(safe-area-inset-bottom)}
 body.trial-active .onboarding-layout{gap:6px;padding-top:12px}
 .trial-heading h2{font-size:21px}.trial-timer{margin-top:8px}
 .trial-controls{gap:25px;margin:8px 0}.trial-caption{font-size:14px;min-height:42px;margin:8px 0}
 .trial-bottom .trial-disclaimer{font-size:10px!important;margin:8px 0!important}
 body.trial-active .ora-halo{width:min(32vh,260px)}
}

/* One calm focus treatment, instead of the browser ring plus the app outline. */
.name-input:focus,.name-input:focus-visible{outline:none;outline-offset:0;border-color:#83b6f8;box-shadow:0 0 0 3px #dcecff;transition:border-color .25s ease,box-shadow .25s ease}
.name-input{transition:border-color .25s ease,box-shadow .25s ease}
@media(prefers-reduced-motion:reduce){body[data-step="1"] .ora-column,body[data-step="1"].has-name .ora-column{transition:none}.name-input{transition:none}}
@media(max-width:800px) and (max-height:740px){
 .onboarding-header{padding:8px 0;gap:6px}
 .onboarding-layout{padding-top:12px}
 body:not([data-step="1"]) .ora-column{display:none}
 .step-content h2{font-size:25px}
 .step-content>p{margin-bottom:12px;font-size:14px}
 body[data-step="2"] .choice{min-height:58px}
 .choice{min-height:52px;padding:9px 12px}
 .demo-frame{min-height:130px;padding-top:14px}
 .recommendation-head .recommendation-orinha{width:36px;height:36px;flex:0 0 36px}
 .recommendation-orinha img{width:26px;height:26px}
 .recommendation h2{font-size:21px}.recommendation p{margin:10px 0}
 .recommendation-controls{gap:6px;margin-top:10px}
 .recommendation-controls .pill-choice{padding:9px 11px}
}

/* On larger screens the welcome composition keeps the Ora beside the prompt.
   Mobile remains a vertical, top-first introduction above. */
@media(min-width:801px){
 body[data-step="1"] .onboarding-layout{
  display:grid;
  grid-template-columns:minmax(280px,.82fr) minmax(440px,1.18fr);
  gap:clamp(36px,7vw,110px);
  align-items:center;
  padding:clamp(30px,6vh,74px) 0 44px;
 }
 body[data-step="1"] .ora-column{
  grid-column:1;
  grid-row:1;
  order:0;
   width:100%;
   align-self:center;
   justify-content:center;
   transform:translateX(-12px) scale(.985);
 }
 body[data-step="1"].has-name .ora-column{transform:none}
 body[data-step="1"] .question-column{
  grid-column:1/-1;
  grid-row:1;
  order:0;
  max-width:760px;
  justify-self:center;
  align-self:center;
 }
 body[data-step="1"].has-name .question-column{
  grid-column:2;
  max-width:630px;
  justify-self:stretch;
  animation:copy-shift-to-side .62s cubic-bezier(.22,.61,.36,1) both;
 }
 body[data-step="1"] .ora-halo{width:min(26vw,300px);flex:0 0 auto}
 body[data-step="1"] .ora-caption{justify-content:center;align-self:center;margin-top:-8px}
 @keyframes copy-shift-to-side{
  from{transform:translateX(clamp(-420px,-26vw,-180px))}
  to{transform:translateX(0)}
 }
 body[data-step="1"].is-clearing .question-column{animation:copy-return-from-side .52s cubic-bezier(.22,.61,.36,1) both}
 @keyframes copy-return-from-side{
  from{transform:translateX(clamp(180px,26vw,420px))}
  to{transform:translateX(0)}
 }
}

@media(prefers-reduced-motion:reduce) and (min-width:801px){
 body[data-step="1"].has-name .question-column{animation:none}
}

/* The short mobile viewport previously hid the shared Ora column. The live
   session must keep it visible, even when the rest of the onboarding is
   compacted. */
@media(max-width:800px) and (max-height:740px){
 body.trial-active .ora-column{display:flex!important}
}

@media(prefers-reduced-motion:reduce){
 body[data-step="1"].is-clearing .question-column{animation:none}
}

/* Validation stays gentle but visible when the footer CTA is pressed without
   a required choice. It is intentionally blue, so it reads as guidance rather
   than an error state. */
.step-error.is-visible{display:block;min-height:0;margin-top:12px;padding:9px 12px;border:1px solid #d7e8fb;border-radius:12px;background:#f3f8ff;color:#56779c;font-size:13px;line-height:1.4;animation:choice-hint-in .42s cubic-bezier(.22,.61,.36,1)}
.primary-button.is-nudge{animation:cta-nudge .42s cubic-bezier(.22,.61,.36,1)}
@keyframes choice-hint-in{0%{opacity:0;transform:translateY(-4px)}55%{opacity:1;transform:translateY(1px)}100%{opacity:1;transform:none}}
@keyframes cta-nudge{0%,100%{transform:translateX(0)}35%{transform:translateX(-3px)}70%{transform:translateX(3px)}}

/* Trial status belongs to the session controls, never inside the canvas. */
body.trial-active .ora-caption{display:none!important}
body.trial-active .ora-column{height:auto!important}
.trial-bottom{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2}
.trial-state{min-height:24px;margin:0 auto 3px;color:#355779;font-size:16px;font-weight:500;line-height:1.35}
.trial-wave{flex:0 0 25px;position:relative;z-index:2}
.trial-mic-status{position:relative;z-index:2}
.trial-caption{min-height:38px;margin:6px auto;line-height:1.35}
.trial-captions{padding:3px;min-height:32px}
.trial-controls{margin:6px 0}
.trial-bottom .trial-disclaimer{margin:6px 0 0!important;line-height:1.3!important}

/* Give the live session a short entrance instead of replacing the preparation
   screen abruptly. */
body.trial-active .trial-heading,body.trial-active .trial-bottom,body.trial-active .ora-column{opacity:1;transform:none;transition:opacity .62s ease,transform .62s cubic-bezier(.22,.61,.36,1)}
body.trial-starting .trial-heading,body.trial-starting .trial-bottom{opacity:0;transform:translateY(12px)}
body.trial-starting .ora-column{opacity:0;transform:scale(.86);filter:blur(2px)}

@media(max-width:800px){
 body.trial-active .onboarding-layout{grid-template-rows:auto minmax(150px,1fr) auto;gap:4px;padding-top:8px}
 body.trial-active .ora-column{align-items:center;justify-content:flex-start;padding-top:8px;overflow:visible}
 body.trial-active .ora-halo{width:min(27vh,210px);height:min(27vh,210px);max-height:none;min-width:0;min-height:0;flex:0 0 auto}
 .trial-state{font-size:15px}
 .trial-bottom{padding-bottom:env(safe-area-inset-bottom)}
}

@media(prefers-reduced-motion:reduce){
 body.trial-active .trial-heading,body.trial-active .trial-bottom,body.trial-active .ora-column,body.trial-starting .trial-heading,body.trial-starting .trial-bottom,body.trial-starting .ora-column{transition:none;animation:none;filter:none}
 .step-error.is-visible,.primary-button.is-nudge{animation:none}
}

/* The name-step reveal writes an inline height. Once the onboarding moves on,
   the compact mobile Ora must return to its natural size. */
body:not([data-step="1"]) .ora-column{height:auto!important}

/* Captions behave like a small conversation instead of an unowned sentence. */
.trial-transcript{display:grid;gap:6px;width:min(480px,100%);min-height:44px;max-height:82px;overflow-y:auto;overscroll-behavior:contain;margin:5px auto;padding:2px 4px;scrollbar-width:thin;scrollbar-color:#bfd7f5 transparent}
.trial-transcript[hidden]{display:none}
.trial-message{display:grid;gap:2px;max-width:84%;padding:7px 10px;border:1px solid #dce9f9;border-radius:13px;color:#496887;font-size:12px;line-height:1.35;text-align:left;animation:trial-message-in .3s ease both}
.trial-message b{font-size:9px;letter-spacing:.12em;color:#2672e7}
.trial-message--ora{justify-self:start;background:#f3f8ff;border-bottom-left-radius:5px}
.trial-message--user{justify-self:end;background:#176ef0;border-color:#176ef0;border-bottom-right-radius:5px;color:#fff}
.trial-message--user b{color:#bcd9ff}
@keyframes trial-message-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.trial-state{min-height:21px;font-size:15px}
.trial-wave{height:21px;flex-basis:21px}
.trial-mic-status{min-height:16px;font-size:10px}
.trial-captions{min-height:28px}

/* A brief launch moment makes the transition into the session feel intentional. */
.trial-launch{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#e8f4ff 0,#f7fbff 46%,#fff 78%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s ease,visibility 0s linear .5s}
body.trial-starting .trial-launch{opacity:1;visibility:visible;transition:opacity .28s ease}
.trial-launch-core{display:grid;justify-items:center;gap:12px;color:#16345b;text-align:center;animation:trial-launch-core 1.05s cubic-bezier(.22,.61,.36,1) both}
.trial-launch-core>span{position:relative;display:grid;place-items:center;width:82px;height:82px}
.trial-launch-core>span:before,.trial-launch-core>span:after{content:"";position:absolute;inset:6px;border:1px solid #86bafa;border-radius:42%;animation:trial-launch-ring 1s ease-out infinite}
.trial-launch-core>span:after{animation-delay:.28s}
.trial-launch-core img{width:54px;height:54px;filter:drop-shadow(0 13px 22px #1670ed38)}
.trial-launch-core strong{font-size:clamp(25px,3vw,38px);letter-spacing:-.045em}
.trial-launch-core small{color:#6c84a4;font-size:14px}
@keyframes trial-launch-core{0%{opacity:0;transform:scale(.82)}35%{opacity:1;transform:scale(1.04)}100%{opacity:1;transform:scale(1)}}
@keyframes trial-launch-ring{0%{opacity:.7;transform:scale(.7) rotate(0)}100%{opacity:0;transform:scale(1.65) rotate(22deg)}}

/* Demo feedback bridges the conversation and the preference question. */
.demo-feedback{display:grid;gap:11px;padding:20px;border:1px solid #cfe2fb;border-radius:22px;background:linear-gradient(145deg,#f2f8ff,#fff);box-shadow:0 18px 50px #1d65b00d}
.demo-feedback-head{display:flex;align-items:center;gap:12px}
.demo-feedback-head .recommendation-orinha{width:44px;height:44px;border-radius:14px;flex:0 0 44px}
.demo-feedback-head .recommendation-orinha img{width:30px;height:30px}
.demo-feedback-head div{display:grid;gap:3px}
.demo-feedback-head b,.demo-feedback-block>b{color:#1670ed;font-size:10px;letter-spacing:.13em}
.demo-feedback-head strong{font-size:18px}
.demo-feedback-block{padding:13px 14px;border:1px solid #dce9f8;border-radius:15px;background:#fff}
.demo-feedback-block.is-example{background:#eaf4ff;border-color:#d0e5fc}
.demo-feedback-block p{margin:5px 0 0;color:#536f92;font-size:14px;line-height:1.45}
.demo-feedback-retry{justify-self:start;padding:6px 0;text-decoration:underline;text-underline-offset:4px}

@media(max-width:800px){
 body:not(.trial-active):not([data-step="1"]):not([data-step="2"]) .ora-column{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:9px;height:auto!important;margin:0 0 12px;padding:0}
 body:not(.trial-active):not([data-step="1"]):not([data-step="2"]) .ora-halo{width:44px;height:44px;flex:0 0 44px}
 body:not(.trial-active):not([data-step="1"]):not([data-step="2"]) .ora-caption{margin:0;font-size:13px;line-height:1.3;text-align:left}
 .trial-transcript{max-height:92px;margin:5px auto 3px;padding-inline:2px}
 .trial-message{max-width:88%;font-size:11.5px;padding:6px 9px}
 .trial-launch-core{gap:10px;padding:0 24px}
 .trial-launch-core>span{width:72px;height:72px}
 .trial-launch-core img{width:48px;height:48px}
 .trial-launch-core small{font-size:13px}
 .demo-feedback{padding:16px;border-radius:18px}
 .demo-feedback-block p{font-size:13px}
}

@media(prefers-reduced-motion:reduce){
 .trial-launch,.trial-launch-core,.trial-launch-core>span:before,.trial-launch-core>span:after,.trial-message{animation:none;transition:none}
}

/* A stable conversation window: only new bubbles animate. */
.trial-transcript{height:clamp(115px,20dvh,172px);min-height:115px;max-height:172px;width:min(560px,100%);display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid #dce9f8;border-radius:20px;background:#ffffffb8;box-shadow:0 8px 30px #2768ae08;scrollbar-width:none;overflow-y:auto;text-align:left}
.trial-transcript::-webkit-scrollbar{display:none}
.trial-message{flex:0 0 auto;width:fit-content;max-width:86%;padding:10px 13px;font-size:13px;line-height:1.45;border-radius:15px;animation:trial-message-in .32s ease both}
.trial-message--ora{align-self:flex-start;border-bottom-left-radius:4px;background:#f0f6ff}
.trial-message--user{align-self:flex-end;border-bottom-right-radius:4px;background:#126bf2}
.trial-message b{font-size:9px;margin-bottom:2px}
body.trial-active .onboarding-layout{grid-template-rows:auto minmax(105px,1fr) auto}
body.trial-active .ora-halo{width:min(23dvh,200px);height:min(23dvh,200px)}
body.trial-active .ora-column{justify-content:center;padding:0;filter:none}
.trial-launch{overflow:hidden;background:radial-gradient(ellipse at 50% 38%,#cbe6ff 0,#edf6ff 40%,#fff 78%);transition:opacity .75s ease,visibility 0s linear .75s}
.trial-launch:before,.trial-launch:after{content:"";position:absolute;width:70vmax;height:70vmax;left:50%;top:42%;border:1px solid #7eb5ff55;border-radius:44%;pointer-events:none;opacity:0}
body.trial-starting .trial-launch:before{animation:session-bloom 2.3s cubic-bezier(.16,1,.3,1) both}
body.trial-starting .trial-launch:after{animation:session-bloom 2.3s .25s cubic-bezier(.16,1,.3,1) both}
.trial-launch-core{position:relative;z-index:1;animation:none;gap:18px}
body.trial-starting .trial-launch-core{animation:session-copy 2.2s ease both}
.trial-launch-core>span{width:132px;height:132px}
.trial-launch-core img{width:80px;height:80px;filter:drop-shadow(0 15px 32px #006cff45)}
.trial-launch-core>span:before,.trial-launch-core>span:after{inset:-10px;border-color:#89baff;animation-duration:2.2s}
.trial-launch-core strong{max-width:440px;line-height:1.08;font-size:clamp(30px,4vw,48px);text-wrap:balance}
@keyframes session-bloom{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-25deg)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.3) rotate(30deg)}}
@keyframes session-copy{0%{opacity:0;transform:translateY(20px) scale(.9);filter:blur(8px)}28%,78%{opacity:1;transform:none;filter:blur(0)}100%{opacity:0;transform:translateY(-12px) scale(1.04);filter:blur(3px)}}
body.trial-feedback .step-content>h2{font-size:clamp(28px,3.2vw,42px);text-wrap:balance}
.demo-feedback{border:0;background:transparent;box-shadow:none;padding:0;gap:18px}
.demo-feedback-head{padding-bottom:15px;border-bottom:1px solid #dbe7f7}
.demo-feedback-block{border:0;border-left:3px solid #1670ed;border-radius:0;padding:5px 0 5px 17px;background:transparent}
.demo-feedback-block p{font-size:17px;color:#263e60;line-height:1.55;margin-top:8px}
.demo-feedback-block.is-example{padding:20px;border:1px solid #d6e7fb;border-radius:20px;background:linear-gradient(135deg,#eaf4ff,#f8fbff)}
.demo-feedback-block.is-example p{font-size:19px;letter-spacing:-.02em}
.demo-feedback-retry{color:#126bf2;font-weight:700;text-decoration:none;padding:11px 16px;border:1px solid #d6e5f7;border-radius:12px;background:#fff}
@media(max-width:800px){
 .trial-transcript{height:clamp(110px,18dvh,150px);min-height:110px;max-height:150px;padding:10px;gap:8px}
 .trial-message{font-size:12px;padding:9px 11px}
 body.trial-active .onboarding-layout{grid-template-rows:auto minmax(100px,1fr) auto}
 body.trial-active .ora-halo{width:min(22dvh,185px);height:min(22dvh,185px)}
 .demo-feedback{padding:0;gap:12px}
 body.trial-feedback .step-content>h2{text-wrap:initial;font-size:28px}
 body.trial-feedback .step-content>p{margin-bottom:18px}
 .demo-feedback-block.is-example{padding:15px}
 .demo-feedback .trial-disclaimer{margin:0;font-size:11px;line-height:1.45}
 .demo-feedback-block p{font-size:15px}
 .demo-feedback-block.is-example p{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.trial-launch:before,.trial-launch:after,body.trial-starting .trial-launch-core{animation:none}.trial-launch{transition:none}}

/* Resume is a real modal: the current onboarding stays behind a quiet scrim,
   while the decision card gets its own surface, focus and action hierarchy. */
.resume-backdrop{position:fixed;inset:0;z-index:60;background:rgb(17 43 77 / 34%);backdrop-filter:blur(12px) saturate(.86);opacity:0;transition:opacity .2s ease}
.resume-backdrop[hidden]{display:none}
.resume-card{z-index:61;width:min(560px,calc(100% - 32px));padding:28px;border-radius:25px;grid-template-columns:auto 1fr;gap:17px;opacity:0;transform:translate(-50%,-47%) scale(.97);box-shadow:0 30px 100px rgb(18 60 112 / 18%);transition:opacity .2s ease,transform .28s cubic-bezier(.22,.61,.36,1)}
.resume-card[hidden]{display:none}
.resume-open .resume-backdrop{opacity:1}
.resume-open .resume-card{opacity:1;transform:translate(-50%,-50%) scale(1)}
.resume-orinha{width:52px;height:52px;border-radius:17px}
.resume-orinha img{width:34px;height:34px}
.resume-card h2{font-size:25px;line-height:1.08;margin:5px 0}
.resume-card p{font-size:14px}
.resume-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:3px}
.resume-actions button{min-height:52px;font-size:15px}

@media(max-width:800px){
 .resume-card{width:min(440px,calc(100% - 28px));padding:20px;border-radius:22px;gap:13px}
 .resume-orinha{width:46px;height:46px;border-radius:15px}
 .resume-orinha img{width:30px;height:30px}
 .resume-card h2{font-size:22px}
 .resume-card p{font-size:13px}
 .resume-actions{gap:8px}
 .resume-actions button{min-height:50px;padding:12px 10px;font-size:14px}
}

/* Google access is an explicit provider action, not a generic account button. */
.auth-provider-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.google-badge{width:42px;height:42px;border:1px solid #e1e8f1;border-radius:12px;display:grid;place-items:center;background:#fff;flex:0 0 42px}
.google-badge img{width:22px;height:22px}
.auth-eyebrow{font-size:10px;letter-spacing:.14em;color:#6f86a6;font-weight:700}
.auth-card .auth-provider-heading h2{font-size:22px;margin:4px 0 0}
.auth-description{margin-bottom:18px!important}
.auth-button img,.auth-button>svg{width:20px;height:20px;flex:0 0 20px}

/* Keep provider choice and the amount readable before the external checkout. */
.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0 14px;color:#93a4b9;font-size:12px}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:#e3edf8;flex:1}.access-methods{display:grid;gap:10px}.email-auth-form{display:grid;gap:10px}.email-auth-form[hidden],.access-methods[hidden],.auth-button[hidden]{display:none!important}.email-auth-form:not([hidden]){animation:auth-form-in .42s cubic-bezier(.22,.61,.36,1) both}.email-auth-form label{display:grid;gap:6px;color:#607a9d;font-size:12px;font-weight:700}.email-auth-form label span{font-weight:400;color:#8ca0b8}.email-auth-form input{width:100%;border:1px solid #d5e4f5;border-radius:12px;padding:12px 13px;background:#fbfdff;color:var(--ink);font:inherit;font-size:14px;font-weight:400;outline:none;transition:border-color .18s,box-shadow .18s}.email-auth-form input:focus{border-color:#74aaf8;box-shadow:0 0 0 3px #e1efff}.auth-email-submit{margin-top:3px;border:1px solid #d2e3f6;border-radius:12px;padding:12px 14px;background:#f4f8ff;color:#255da9;font-weight:700}.auth-email-submit:disabled{opacity:.6}.auth-card .access-switch{display:flex;align-items:center;gap:4px;margin:18px 0 0!important;font-size:14px!important;line-height:1.35}.auth-toggle{justify-self:start;color:#196be0;text-decoration:underline;text-underline-offset:3px}.auth-card .auth-foot{margin:8px 0 0!important;font-size:12px!important;line-height:1.4;color:#8a9bb2}.auth-status{min-height:18px;margin:0!important;font-size:12px!important}.auth-status.is-error{color:#bc5f70!important}.auth-status.is-success{color:#277f63!important}.auth-status.is-busy{color:#7087a4!important}
@keyframes auth-form-in{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:none}}
.offer-card{padding:22px 24px}.offer-summary{align-items:flex-start}.offer-summary>img{width:34px;height:34px;flex:0 0 34px;margin-top:2px}.offer-summary>div{display:grid;gap:3px}.offer-summary-label{color:#1d70e8;font-size:10px;letter-spacing:.13em;font-weight:700}.offer-summary strong{font-size:19px;color:var(--ink);line-height:1.2}.offer-summary small{color:#7890ad;font-size:12px}.offer-price-block{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:10px;margin:22px 0 15px;padding-bottom:16px;border-bottom:1px solid #e5eef8}.offer-price-label{color:#7a90ad;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.offer-price{margin:0;font-size:clamp(42px,5vw,58px);line-height:.95;letter-spacing:-.07em}.offer-price-sub{color:#7188a7;font-size:13px;margin-bottom:4px}.offer-description{font-size:16px!important;line-height:1.5!important;margin-bottom:12px!important;color:#587393!important}.offer-facts{display:grid;gap:7px;margin:0 0 15px;padding:0;list-style:none;color:#5d789a;font-size:13px;line-height:1.4}.offer-facts li{display:flex;gap:8px;align-items:flex-start}.offer-facts li:before{content:'✓';color:#2173e9;font-weight:700}.offer-credit{margin:0 0 14px!important;color:#3d6997!important;font-size:14px!important}.offer-note{border-top:1px solid #e5eef8;padding-top:13px;margin-bottom:0!important;line-height:1.45!important}
@media(max-width:800px){.auth-provider-heading{align-items:flex-start}.auth-card .auth-provider-heading h2{font-size:20px}.offer-card{padding:17px}.offer-price-block{grid-template-columns:1fr auto;gap:4px 9px}.offer-price-label{grid-column:1/-1}.offer-price-sub{grid-column:2;grid-row:2;margin-bottom:5px}.offer-price{grid-column:1;grid-row:2}.offer-description{font-size:15px!important}.offer-facts{font-size:12px}}

/* Keep the resume dialog crisp: dim the page without blurring it. */
.resume-backdrop{backdrop-filter:blur(12px) saturate(.86)!important;-webkit-backdrop-filter:blur(12px) saturate(.86)!important}
.resume-card:before{display:none!important}
.resume-card:focus,.resume-card:focus-visible{outline:none}

/* A Starter choice can lead naturally to the Pro without interrupting checkout. */
.plan-upsell{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:22px 0 4px;padding:16px 18px;border:1px solid #b9d7ff;border-radius:16px;background:#f1f7ff;color:#193459}.plan-upsell-label{display:block;margin-bottom:5px;color:#1268ee;font-size:10px;font-weight:800;letter-spacing:.12em}.plan-upsell strong{display:block;font-size:15px;line-height:1.3}.plan-upsell small{display:block;margin-top:4px;color:#7187a6;font-size:12px}.plan-upsell button{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;border:0;border-radius:10px;background:#1268ee;color:#fff;padding:11px 13px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s ease,transform .2s ease}.plan-upsell button:hover{background:#075cdc}.plan-upsell button:active{transform:translateY(1px)}
@media(max-width:600px){.plan-upsell{align-items:stretch;flex-direction:column;gap:13px}.plan-upsell button{width:100%}}

/* Keep the recommendation summary and price hierarchy stable at every width. */
.offer-summary>div{flex:1;min-width:0}.offer-summary button{flex:0 0 auto;align-self:flex-start}
.offer-summary .offer-review-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin:0;padding:8px 11px;border:1px solid #d0e2f8;border-radius:10px;background:#f5f9ff;color:#1769d7;font-size:12px;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background .18s,border-color .18s}
.offer-summary .offer-review-button:hover{background:#eaf4ff;border-color:#a9cbf5;color:#075bcf}
.offer-summary .offer-review-button:focus-visible{outline:3px solid #8bbcff;outline-offset:3px}
.offer-price-block{display:block;margin:22px 0 15px;padding-bottom:16px}
.offer-price-label{display:block;margin-bottom:10px;line-height:1.25}
.offer-price{display:inline-block;vertical-align:baseline}
.offer-price-sub{display:inline-block;vertical-align:baseline;margin:0 0 8px 12px}
@media(max-width:800px){.offer-price-sub{margin-left:8px;margin-bottom:6px}}
.offer-plans-link{display:inline-flex;align-items:center;gap:7px;margin:0 0 15px;padding:10px 13px;border:1px solid #bcd8fb;border-radius:12px;background:#edf6ff;color:#1269e8;font-size:13px;font-weight:700;text-decoration:none;transition:background .18s,border-color .18s,transform .18s}.offer-plans-link:hover{background:#e3f1ff;border-color:#91bff5;transform:translateY(-1px)}.offer-plans-link:focus-visible{outline:3px solid #8bbcff;outline-offset:3px}
.credit-choice{display:grid;gap:9px;margin:2px 0 16px;padding:14px;border:1px solid #d8e7f8;border-radius:16px;background:#f8fbff}.credit-choice-heading{display:grid;gap:3px;margin-bottom:2px;color:#355b88;font-size:13px;line-height:1.35}.credit-choice-heading span{color:#7891af;font-size:12px}.credit-choice-option{display:flex;align-items:flex-start;gap:10px;width:100%;padding:11px 12px;border:1px solid #d6e5f5;border-radius:12px;background:#fff;color:#36577f;text-align:left;transition:border-color .18s,background .18s,box-shadow .18s}.credit-choice-option:hover{border-color:#8bbcff;background:#f5faff}.credit-choice-option.is-selected{border-color:#4b91f4;background:#edf6ff;box-shadow:0 0 0 2px #dcecff}.credit-choice-option>span:last-child{display:grid;gap:3px}.credit-choice-option strong{font-size:13px;color:var(--ink)}.credit-choice-option small{font-size:11px;line-height:1.35;color:#6f89a8}.credit-choice-radio{width:16px;height:16px;flex:0 0 16px;margin-top:1px;border:1.5px solid #98b5d5;border-radius:50%;background:#fff;position:relative}.credit-choice-option.is-selected .credit-choice-radio{border-color:#2374e8}.credit-choice-option.is-selected .credit-choice-radio:after{content:'';position:absolute;inset:3px;border-radius:50%;background:#2374e8}
@media(max-width:800px){.credit-choice{padding:12px}.credit-choice-option{padding:10px}.credit-choice-option strong{font-size:12px}.credit-choice-option small{font-size:10px}}

/* Checkout recovery: keep the saved practice and all plan choices together. */
.checkout-recovery{max-width:650px;padding:clamp(19px,3vw,28px);border:1px solid #cfe1f8;border-radius:26px;background:radial-gradient(ellipse at 88% 0%,#eaf4ff 0,transparent 42%),linear-gradient(145deg,#fff,#f7fbff);box-shadow:0 22px 60px #2369b012;animation:step-in .28s ease-out both}
.checkout-recovery-brand{display:flex;align-items:center;gap:10px;margin-bottom:17px;color:#2672e7;font-size:10px;font-weight:800;letter-spacing:.15em}
.checkout-recovery-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid #d4e6ff;border-radius:17px;background:linear-gradient(145deg,#e2f0ff,#fff);box-shadow:0 8px 25px #3979c31c;animation:recovery-mark-float 4s ease-in-out infinite}
.checkout-recovery-mark img{width:34px;height:34px}
.checkout-recovery h2{font-size:clamp(25px,3vw,34px);line-height:1.08;letter-spacing:-.045em;margin:0 0 10px}
.checkout-recovery-copy{max-width:560px;margin:0 0 18px!important;color:#7186a4;font-size:14px!important;line-height:1.55!important}
.checkout-recovery-current{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #cfe2fa;border-radius:16px;background:#f1f7ff}
.checkout-recovery-current>div{display:grid;gap:4px}.checkout-recovery-label{color:#2372e7;font-size:9px;font-weight:800;letter-spacing:.13em}.checkout-recovery-current strong{color:#182c4a;font-size:19px}.checkout-recovery-current small{color:#7087a6;font-size:12px}.checkout-current-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:#ddecff;color:#1b70e6}.checkout-current-icon svg{width:19px;height:19px}
.checkout-cycle-toggle{display:flex;width:max-content;gap:3px;margin:15px 0 10px;padding:4px;border:1px solid #dbe8f8;border-radius:12px;background:#f4f8fd}.checkout-cycle-toggle button{border:0;border-radius:9px;padding:8px 13px;background:transparent;color:#7388a4;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.checkout-cycle-toggle button[aria-pressed=true]{background:#fff;color:#126be8;box-shadow:0 2px 8px #244f7a14}
.checkout-recovery-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:15px}.checkout-plan-option{display:grid;gap:7px;min-width:0;padding:13px 14px;border:1px solid #dce8f7;border-radius:15px;background:#ffffffd9;color:#203753;text-align:left;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s}.checkout-plan-option:hover{transform:translateY(-2px);border-color:#a9caf2;box-shadow:0 8px 24px #3973b714}.checkout-plan-option.is-selected{border-color:#4c91f0;background:#edf6ff;box-shadow:0 0 0 2px #deedff}.checkout-plan-option:focus-visible,.checkout-cycle-toggle button:focus-visible,.checkout-reason-dialog button:focus-visible{outline:3px solid #88b9fb;outline-offset:2px}.checkout-plan-option-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.checkout-plan-option-head strong{font-size:14px}.checkout-plan-option-head>span{padding:4px 7px;border-radius:999px;background:#dcecff;color:#166add;font-size:9px;font-weight:800}.checkout-plan-option-price{font-size:16px;font-weight:800;letter-spacing:-.02em}.checkout-plan-option-price small{font-size:10px;font-weight:500;color:#758aa6;letter-spacing:0}.checkout-plan-option-detail{color:#7288a5;font-size:11px;line-height:1.3}.checkout-resume-time{display:block;margin-top:10px;color:#647f9f;font-size:11px}.checkout-recovery-trust{display:flex;gap:8px;align-items:flex-start;margin:15px 0 0!important;padding-top:12px;border-top:1px solid #e2edf9;color:#7b8fa9!important;font-size:11px!important;line-height:1.45!important}
.checkout-reason-dialog{width:min(480px,calc(100% - 30px));max-width:none;max-height:min(90dvh,780px);padding:0;border:1px solid #d2e3f8;border-radius:26px;background:transparent;box-shadow:0 30px 100px #16345a40;overflow:visible}
.checkout-reason-dialog::backdrop{background:#14284470;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.checkout-reason-content{position:relative;max-height:min(90dvh,780px);overflow:auto;padding:28px;border-radius:25px;background:radial-gradient(ellipse at 50% -15%,#dceeff 0,transparent 48%),#fff;text-align:center}
.checkout-reason-close{position:absolute;top:13px;right:14px;width:36px;height:36px;border:1px solid #e0ebf8;border-radius:50%;background:#ffffffd9;color:#7187a3;font-size:23px;line-height:1;cursor:pointer}
.checkout-reason-mark{display:grid;place-items:center;width:80px;height:80px;margin:4px auto 14px;border:1px solid #d5e7fc;border-radius:29px;background:linear-gradient(145deg,#eaf4ff,#fff);box-shadow:0 12px 35px #397bc21c;animation:recovery-mark-float 4s ease-in-out infinite}.checkout-reason-mark img{width:57px;height:57px}
.checkout-reason-eyebrow{color:#2672e7;font-size:10px;font-weight:800;letter-spacing:.16em}.checkout-reason-content h2{margin:9px 0 7px;color:#182943;font-size:27px;line-height:1.1;letter-spacing:-.04em}.checkout-reason-content>p{margin:0 auto 17px;max-width:340px;color:#7589a5;font-size:13px;line-height:1.5}
.checkout-reason-options{display:grid;gap:8px}.checkout-reason-options button,.checkout-reason-compare{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;padding:11px 14px;border:1px solid #d9e7f7;border-radius:13px;background:#fbfdff;color:#355372;font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:background .16s,border-color .16s,transform .16s}.checkout-reason-options button:hover{border-color:#a9caf2;background:#f1f7ff;transform:translateY(-1px)}.checkout-reason-skip{display:block;margin:12px auto 2px;padding:7px;border:0;background:transparent;color:#8496ad;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.checkout-reason-compare{margin-top:8px;border-color:#176be8;background:#176be8;color:#fff;font-size:13px}.checkout-reason-compare:hover{background:#095cda}
@keyframes recovery-mark-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-4px) rotate(2deg)}}
@media(max-width:800px){.checkout-recovery{padding:18px;border-radius:21px}.checkout-recovery-brand{margin-bottom:13px}.checkout-recovery-mark{width:43px;height:43px;border-radius:15px}.checkout-recovery-mark img{width:30px;height:30px}.checkout-recovery-options{gap:7px}.checkout-plan-option{padding:11px 10px}.checkout-plan-option-head strong{font-size:13px}.checkout-plan-option-price{font-size:14px}.checkout-plan-option-price small{font-size:9px}.checkout-plan-option-detail{font-size:10px}.checkout-reason-content{padding:24px 18px 20px}.checkout-reason-content h2{font-size:24px}}
@media(max-width:390px){.checkout-recovery-options{grid-template-columns:1fr}.checkout-plan-option{padding:12px 13px}}
@media(prefers-reduced-motion:reduce){.checkout-recovery,.checkout-recovery-mark,.checkout-reason-mark{animation:none}}

/* Brief plan assembly: the same live Ora stays in place while the choices
   orbit around it before the personalized recommendation is revealed. */
body.is-building-plan .ora-halo{position:relative;overflow:visible;isolation:isolate;perspective:1000px;transform:scale(1.05);transition:transform .3s ease}
body.is-building-plan .ora-halo canvas,body.is-building-plan .ora-halo .live-ora-fallback{position:relative;z-index:2}
body.is-building-plan .ora-halo:after{content:'';position:absolute;z-index:0;inset:28% -13%;border:1px solid #cfe3fc;border-radius:50%;transform:rotate(-18deg);box-shadow:0 0 42px #4b97ef18}
.plan-build-orbit{position:absolute;inset:-7%;pointer-events:none;perspective:1000px;transform-style:preserve-3d}
.plan-orbit-card{position:absolute;left:50%;top:50%;width:156px;min-height:52px;padding:9px 11px;border:1px solid #fff;border-radius:14px;background:#fffffff2;box-shadow:0 12px 27px #1c67c520;backdrop-filter:blur(10px);will-change:transform,opacity;transform-style:preserve-3d}
.plan-orbit-card.is-front{z-index:3;pointer-events:none}
.plan-orbit-card small{display:block;margin-bottom:3px;color:#2b76dc;font-size:8px;font-weight:700;letter-spacing:.11em}
.plan-orbit-card strong{display:-webkit-box;overflow:hidden;color:#28486f;font-size:10px;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.plan-build-copy{max-width:560px}
.plan-build-copy>span{display:block;margin-bottom:12px;color:#2672e7;font-size:10px;font-weight:700;letter-spacing:.15em}
.plan-build-copy h2{margin-bottom:12px}
.plan-build-copy p{min-height:25px;margin:0;color:#657d9e;font-size:16px;line-height:1.5}
.plan-build-copy p.is-changing{animation:plan-status-in .24s ease-out}
.plan-build-progress{display:flex;gap:7px;width:112px;margin-top:23px}
.plan-build-progress i{height:4px;flex:1;border-radius:99px;background:#dce9f8;animation:plan-progress 1.2s ease-in-out infinite}
.plan-build-progress i:nth-child(2){animation-delay:.16s}.plan-build-progress i:nth-child(3){animation-delay:.32s}
@keyframes plan-status-in{from{opacity:.2;transform:translateY(3px)}to{opacity:1;transform:none}}
@keyframes plan-progress{0%,100%{background:#dce9f8;transform:scaleX(.82)}50%{background:#2f82f2;transform:scaleX(1)}}
body.is-building-plan .onboarding-footer{pointer-events:none}

@media(max-width:800px){
 body.is-building-plan .onboarding-layout{display:flex;flex-direction:column;align-items:center;gap:24px;padding-top:22px}
 body.is-building-plan .ora-column{display:flex!important;order:0;flex-direction:column;justify-content:center;width:100%;margin:0;gap:8px}
 body.is-building-plan .ora-halo{width:190px;flex:0 0 190px;border:1px solid #d4e6ff;background:radial-gradient(circle at 50% 42%,#dceeff 0,#f4f9ff 56%,#fff 78%);box-shadow:0 22px 70px #236dcc12,inset 0 1px #fff}
 body.is-building-plan .ora-caption{display:flex;justify-content:center;margin-top:5px}
 body.is-building-plan .question-column{order:1;text-align:center}
 body.is-building-plan .step-kicker{display:none}
 .plan-build-copy{margin:auto}.plan-build-copy>span{font-size:9px}.plan-build-copy h2{font-size:27px}.plan-build-copy p{font-size:14px}
 .plan-build-progress{margin:18px auto 0}
 .plan-build-orbit{inset:-9%}
 .plan-orbit-card{width:122px;min-height:46px;padding:7px 9px;border-radius:12px}
 .plan-orbit-card small{font-size:7px}.plan-orbit-card strong{font-size:9px}
 body.is-building-plan .onboarding-footer{opacity:0}
}
@media(prefers-reduced-motion:reduce){.plan-build-progress i{animation:none}}

/* The plan reveal needs its own centered stage. Keeping the orbit constrained
   to the regular onboarding canvas made the cards collide and overflow. */
body.is-building-plan .onboarding-layout{display:flex;min-height:calc(100svh - 180px);flex-direction:column;align-items:center;justify-content:center;gap:38px;padding:18px 0 42px}
body.is-building-plan .ora-column{display:flex!important;order:0;width:100%;height:auto!important;min-height:270px;margin:0;overflow:visible;flex-direction:column;align-items:center;justify-content:center;gap:0}
body.is-building-plan .ora-halo{width:210px;height:210px;flex:0 0 210px;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}
body.is-building-plan .ora-halo canvas,body.is-building-plan .ora-halo .live-ora-fallback{width:100%;height:100%}
body.is-building-plan .ora-halo:after{inset:auto;left:50%;top:50%;width:430px;height:210px;border-color:#c9e0fb;transform:translate(-50%,-50%) rotate(-18deg)}
body.is-building-plan .plan-build-orbit{inset:auto;left:50%;top:50%;width:510px;height:300px;margin:-150px 0 0 -255px;perspective:none;transform:none;transform-style:flat}
body.is-building-plan .ora-caption{display:none}
body.is-building-plan .question-column{order:1;width:100%;max-width:640px;text-align:center}
body.is-building-plan .step-kicker{display:none}
body.is-building-plan .plan-build-copy{margin:auto}
body.is-building-plan .plan-build-progress{margin-inline:auto}
body.is-building-plan .onboarding-footer{opacity:0}
body.is-building-plan .os-launcher{opacity:0;pointer-events:none}

@media(max-width:800px){
 body.is-building-plan .onboarding-layout{min-height:calc(100svh - 116px);gap:25px;padding:12px 0 28px}
 body.is-building-plan .ora-column{display:flex!important;width:100%!important;height:auto!important;min-height:230px!important;margin:0!important;padding:0!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:0!important;overflow:visible!important}
 body.is-building-plan .ora-halo{width:145px!important;height:145px!important;flex:0 0 145px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
 body.is-building-plan .ora-caption{display:none!important}
 body.is-building-plan .ora-halo:after{width:282px;height:142px}
 body.is-building-plan .plan-build-orbit{width:288px;height:220px;margin:-110px 0 0 -144px}
 body.is-building-plan .plan-orbit-card{width:104px;min-height:42px;padding:6px 8px}
 body.is-building-plan .plan-orbit-card small{font-size:6.5px}
 body.is-building-plan .plan-orbit-card strong{font-size:8.5px}
 body.is-building-plan .plan-build-copy{max-width:340px}
 body.is-building-plan .plan-build-copy h2{font-size:26px}
 body.is-building-plan .plan-build-copy p{min-height:42px;padding-inline:8px}
}
.auth-legal{margin:11px 0 0!important;font-size:11px!important;line-height:1.45!important;color:#8a9bb2!important}.auth-legal a{color:#4f78a8;text-decoration:underline;text-underline-offset:2px}

/* The initial access choice fits without a page scroll; the expanded e-mail
   form can still use normal scrolling when the extra fields are visible. */
body[data-step="8"] .onboarding-layout{padding-top:12px;padding-bottom:18px}
body[data-step="8"] .ora-halo{width:min(21vw,230px)}
body[data-step="8"] .step-content>p{margin-bottom:14px}
body[data-step="8"] .auth-card{padding:18px 20px}
body[data-step="8"] .auth-button{padding:12px}
@media(max-width:800px){body[data-step="8"] .onboarding-layout{padding-top:8px}body[data-step="8"] .ora-column{margin-bottom:8px}body[data-step="8"] .auth-card{padding:15px}body[data-step="8"] .auth-card .access-switch{margin-top:12px!important}}
.account-return-note{padding:13px 15px;border:1px solid #cfe1f8;border-radius:14px;background:#f3f8ff;color:#516f97!important;font-size:14px!important;line-height:1.5;margin:0 0 18px!important}
.auth-return-loading{display:none}
html.auth-return-pending,html.auth-return-pending body{min-height:100%;overflow:hidden}
html.auth-return-pending body>.onboarding-app{visibility:hidden;pointer-events:none}
html.auth-return-pending .auth-return-loading{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:calc(24px + env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 38%,#e6f2ff 0,transparent 55%),#f7fbff}
.auth-return-loading-card{display:flex;flex-direction:column;align-items:center;width:min(100%,430px);padding:34px 28px;border:1px solid #d8e7f8;border-radius:26px;background:#ffffffed;box-shadow:0 22px 65px #2369b012;text-align:center}
.auth-return-loading-mark{display:grid;place-items:center;width:92px;height:92px;margin-bottom:22px;border:1px solid #d4e6ff;border-radius:30px;background:radial-gradient(circle at 50% 42%,#dceeff 0,#f4f9ff 70%);animation:auth-return-breathe 2.2s ease-in-out infinite}
.auth-return-loading-mark img{width:58px;height:58px;object-fit:contain}
.auth-return-loading-eyebrow{color:#2672e7;font-size:10px;font-weight:700;letter-spacing:.18em}
.auth-return-loading-card h1{margin:13px 0 8px;color:#172541;font-size:clamp(26px,6vw,36px);line-height:1.12;letter-spacing:-.045em}
.auth-return-loading-card p{max-width:330px;margin:0;color:#7086a5;font-size:15px;line-height:1.5}
.auth-return-loading-card button{margin-top:22px;padding:12px 17px;border:1px solid #cfe0f6;border-radius:12px;background:#fff;color:#1764d1;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.auth-return-loading-card button[hidden]{display:none}
@keyframes auth-return-breathe{50%{transform:translateY(-5px) scale(1.025)}}
@media(prefers-reduced-motion:reduce){.auth-return-loading-mark{animation:none}}

/* Plan comparison inside the onboarding offer: same centered carousel used in the app. */
.onboarding-plans-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:transparent;box-shadow:none}
.onboarding-plans-dialog::backdrop{background:rgba(25,51,81,.38);backdrop-filter:blur(9px)}
.onboarding-plans-dialog>.onboarding-plans-close{position:fixed;z-index:8;top:22px;right:25px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(207,226,248,.9);border-radius:50%;background:rgba(255,255,255,.92);color:#7186a3;font-size:25px;line-height:1;box-shadow:0 8px 22px rgba(28,75,135,.12);cursor:pointer}
.onboarding-plans-dialog>.pricing-section{width:100%;height:100%;padding:68px 0 18px;background:transparent}
.onboarding-plans-dialog .pricing-heading,.onboarding-plans-dialog .price-footer,.onboarding-plans-dialog .onboarding-plans-carousel-nav{display:none!important}
.onboarding-plans-dialog .billing-toggle{position:relative;z-index:6;margin:0 auto 10px;padding:5px;background:rgba(242,246,252,.96);box-shadow:0 10px 26px rgba(25,75,135,.13)}
.onboarding-plans-dialog .pricing-grid.local-pricing-track{display:flex;align-items:flex-start;gap:16px;width:100%;height:calc(100dvh - 126px);max-width:none;overflow:auto;overscroll-behavior:contain;padding:28px max(calc((100% - 300px)/2),90px) 58px;scroll-padding-inline:calc((100% - 300px)/2);scroll-snap-type:x mandatory;scrollbar-width:none}
.onboarding-plans-dialog .pricing-grid.local-pricing-track::-webkit-scrollbar{display:none}
.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card{flex:0 0 300px;min-width:300px;height:min(var(--onboarding-card-height,1000px),calc(100dvh - 190px));max-height:calc(100dvh - 190px);margin:0;padding:28px 23px 23px;overflow:auto;border-radius:28px;scroll-snap-align:center;opacity:.76;transform:scale(.985);z-index:1;will-change:transform,opacity;backface-visibility:hidden;transition:transform .27s cubic-bezier(.22,1,.36,1),opacity .22s ease}
.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card.price-pro{margin:0;padding:55px 23px 23px}
.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card.is-active{opacity:1;transform:translateY(-2px) scale(1.015);z-index:3;box-shadow:0 18px 42px rgba(25,77,150,.15),0 3px 0 #d9e8fb,inset 0 1px 0 #fff}
.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card .price-description{font-size:13px;line-height:1.4;min-height:36px;margin-bottom:18px}
.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card .price-value{font-size:38px}
.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card .price-annual-total,.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card .price-annual-total[hidden]{min-height:24px;margin:2px 0 0;font-size:11px;line-height:14px}
.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card .price-allowance{font-size:13px;line-height:1.4;min-height:36px;margin:12px 0 18px}
.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card .price-choose{min-height:50px;margin:0 0 20px;padding:10px 14px;font-size:12px;border-radius:12px}
.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card ul{margin:0 0 20px;gap:10px;font-size:12px;line-height:1.35}
.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card .price-per-minute{margin:auto 0 0;padding-top:11px;font-size:11px}
.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card .price-per-minute+.price-extra{margin-top:7px;padding-top:0;font-size:12px}
.onboarding-plans-dialog .price-card[hidden]{display:none!important}
.onboarding-plans-dialog .billing-toggle .billing-option:focus-visible,.onboarding-plans-dialog>.onboarding-plans-close:focus-visible{outline:3px solid #93bdff;outline-offset:3px}
.offer-plans-link{font-family:inherit;appearance:none;cursor:pointer}
@media(max-width:760px){.onboarding-plans-dialog>.onboarding-plans-close{top:13px;right:14px;width:38px;height:38px}.onboarding-plans-dialog>.pricing-section{padding:62px 0 26px}.onboarding-plans-dialog .billing-toggle{margin-bottom:16px}.onboarding-plans-dialog .pricing-grid.local-pricing-track{height:calc(100dvh - 112px);gap:14px;padding:34px max(18px,calc((100% - min(360px,84vw))/2)) 34px;scroll-padding-inline:calc((100% - min(360px,84vw))/2)}.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card{flex-basis:min(360px,84vw);min-width:min(360px,84vw);height:min(var(--onboarding-card-height,1200px),calc(100dvh - 170px));max-height:calc(100dvh - 170px);padding:27px 23px 22px}.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card.price-pro{padding-top:54px}.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card .price-value{font-size:40px}}
@media(prefers-reduced-motion:reduce){.onboarding-plans-dialog .pricing-grid.local-pricing-track>.price-card{transition:none;will-change:auto}}
