/* Keevaath — discovery questionnaire (refined UI) */
.disco{ margin:1.6rem 0 0.4rem; }

/* Launcher — refined pill with animated diamond + arrow reveal */
.disco-launch{ display:inline-flex; align-items:center; gap:11px; padding:12px 22px 12px 20px; border-radius:40px;
  border:1px solid rgba(186,117,23,0.4); background:linear-gradient(180deg,#20182A,#0F1A24); color:var(--paper,#FAF8F4);
  font-family:var(--font-sans,sans-serif); font-size:0.92rem; font-weight:500; cursor:pointer; letter-spacing:0.2px;
  transition:transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s, border-color .25s; box-shadow:0 8px 22px rgba(15,26,36,0.22); }
.disco-launch:hover{ transform:translateY(-2px); box-shadow:0 14px 32px rgba(15,26,36,0.32); border-color:rgba(237,171,78,0.7); }
.disco-launch-ico{ color:var(--guru-lt,#E3A54B); font-size:0.7rem; transition:transform .5s ease; }
.disco-launch:hover .disco-launch-ico{ transform:rotate(180deg); }

/* Panel — deeper, more crafted */
.disco-panel{ margin-top:1.1rem; padding:0; border-radius:22px; position:relative; overflow:hidden; max-width:560px;
  background:radial-gradient(130% 110% at 15% -10%,#41334C,#251E2E 52%,#17111F);
  border:1px solid rgba(180,227,138,0.16);
  box-shadow:0 30px 70px rgba(15,10,20,0.46), inset 0 1px 0 rgba(255,255,255,0.06);
  color:#F1EDE5; animation:disco-in .55s cubic-bezier(.16,1,.3,1) both; }
@keyframes disco-in{ from{ opacity:0; transform:translateY(12px) scale(.99);} to{ opacity:1; transform:translateY(0) scale(1);} }
.disco-panel::before{ content:''; position:absolute; inset:0; pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(140,220,255,0.018) 0 1px,transparent 1px 3px); opacity:0.6; }
/* top hairline sweep */
.disco-panel::after{ content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(180,227,138,0.7),rgba(237,171,78,0.55),transparent); }

/* inner padding wrapper */
.disco-body{ padding:1.7rem 1.8rem 1.6rem; position:relative; }

/* Header row: step counter + progress */
.disco-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.3rem; }
.disco-count{ font-family:var(--font-mono,monospace); font-size:0.7rem; letter-spacing:2px; text-transform:uppercase; color:var(--guru-lt,#E3A54B); }
.disco-prog{ display:flex; gap:5px; }
.disco-dot{ width:20px; height:3px; border-radius:2px; background:rgba(255,255,255,0.13); transition:background .45s, transform .45s; }
.disco-dot.on{ background:linear-gradient(90deg,#B4E38A,#EDC078); }
.disco-dot.cur{ transform:scaleY(1.8); }

.disco-intro{ font-size:0.88rem; color:#A9A3B2; margin:0 0 1.2rem; line-height:1.55; font-family:var(--font-sans,sans-serif); max-width:44ch; }
.disco-q{ font-family:var(--font-display,Georgia,serif); font-size:1.6rem; font-weight:500; margin:0 0 1.3rem; color:#F7F3EC; letter-spacing:-0.4px; line-height:1.15; }

/* Options — numbered, with hover choreography */
.disco-opts{ display:flex; flex-direction:column; gap:9px; }
.disco-opt{ display:flex; align-items:center; gap:14px; text-align:left; padding:14px 16px 14px 15px; border-radius:13px; cursor:pointer;
  background:rgba(255,255,255,0.035); border:1px solid rgba(255,255,255,0.09); color:#ECE8F0;
  font-family:var(--font-sans,sans-serif); font-size:0.96rem; transition:all .2s cubic-bezier(.16,1,.3,1); position:relative; overflow:hidden; }
.disco-opt::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:0; background:linear-gradient(180deg,#7CB342,#639922); transition:width .2s; }
.disco-opt .disco-opt-mark{ flex:0 0 26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,0.18); font-family:var(--font-mono,monospace); font-size:0.72rem; color:#B8B2BE; transition:all .2s; }
.disco-opt:hover{ background:rgba(180,227,138,0.09); border-color:rgba(180,227,138,0.45); transform:translateX(4px); }
.disco-opt:hover::before{ width:3px; }
.disco-opt:hover .disco-opt-mark{ border-color:rgba(180,227,138,0.7); color:#B4E38A; }
.disco-opt.sel{ background:rgba(124,179,66,0.15); border-color:rgba(124,179,66,0.65); }
.disco-opt.sel::before{ width:3px; }
.disco-opt.sel .disco-opt-mark{ background:linear-gradient(150deg,#9BD65E,#639922); border-color:transparent; color:#16240A; }

/* Text area */
.disco-text{ width:100%; min-height:92px; padding:13px 15px; border-radius:13px; resize:vertical;
  background:rgba(255,255,255,0.045); border:1px solid rgba(255,255,255,0.13); color:#F1EDE5;
  font-family:var(--font-sans,sans-serif); font-size:0.95rem; line-height:1.5; }
.disco-text:focus{ outline:none; border-color:rgba(124,179,66,0.6); box-shadow:0 0 0 3px rgba(124,179,66,0.15); }

/* Buttons */
.disco-actions{ display:flex; align-items:center; gap:1rem; margin-top:1.3rem; }
.disco-next,.disco-submit{ padding:12px 24px; border-radius:40px; border:0; cursor:pointer;
  background:linear-gradient(100deg,#7CB342,#639922); color:#0F1A24; font-weight:600; font-size:0.92rem;
  font-family:var(--font-sans,sans-serif); transition:transform .22s, box-shadow .22s; box-shadow:0 8px 20px rgba(124,179,66,0.28); }
.disco-next:hover,.disco-submit:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(124,179,66,0.4); }
.disco-submit{ width:100%; }

.disco-back{ background:none; border:0; color:#948E9C; cursor:pointer; padding:6px 2px;
  font-family:var(--font-mono,monospace); font-size:0.76rem; letter-spacing:1.5px; text-transform:uppercase; transition:color .2s; }
.disco-back:hover{ color:#B4E38A; }

/* Review form */
.disco-form{ display:flex; flex-direction:column; gap:0.8rem; margin-top:0.4rem; }
.disco-form label{ display:flex; flex-direction:column; gap:6px; font-size:0.72rem; color:#A9A3B2;
  font-family:var(--font-mono,monospace); letter-spacing:1px; text-transform:uppercase; }
.disco-form input{ padding:12px 15px; border-radius:11px; background:rgba(255,255,255,0.045);
  border:1px solid rgba(255,255,255,0.13); color:#F1EDE5; font-family:var(--font-sans,sans-serif); font-size:0.95rem; letter-spacing:normal; text-transform:none; }
.disco-form input:focus{ outline:none; border-color:rgba(124,179,66,0.6); box-shadow:0 0 0 3px rgba(124,179,66,0.15); }

/* Review summary chips (recap of answers) */
.disco-recap{ display:flex; flex-wrap:wrap; gap:7px; margin:0 0 1.2rem; }
.disco-chip{ font-family:var(--font-mono,monospace); font-size:0.68rem; letter-spacing:0.5px; padding:5px 11px; border-radius:20px;
  background:rgba(124,179,66,0.1); border:1px solid rgba(124,179,66,0.28); color:#C8E6A5; }

@media (max-width:560px){ .disco-body{ padding:1.4rem 1.3rem; } .disco-q{ font-size:1.4rem; } }
@media (prefers-reduced-motion:reduce){ .disco-panel,.disco-opt,.disco-launch{ animation:none; transition:none; } }

/* ===== Animated step transitions + polish ===== */
.disco-body{ transition:opacity .13s ease, transform .22s cubic-bezier(.34,1.4,.5,1); }
.disco-body.is-out-left{ opacity:0; transform:translateX(-32px) scale(.985); }
.disco-body.is-out-right{ opacity:0; transform:translateX(32px) scale(.985); }
.disco-body.is-in-right{ opacity:0; transform:translateX(32px) scale(.985); }
.disco-body.is-in-left{ opacity:0; transform:translateX(-32px) scale(.985); }

/* staggered option entrance */
.disco-opt{ animation:disco-opt-in .34s cubic-bezier(.16,1,.3,1) both; animation-delay:var(--d,0s); }
@keyframes disco-opt-in{ from{ opacity:0; transform:translateY(10px) scale(.98);} to{ opacity:1; transform:translateY(0) scale(1);} }

/* selected pulse before advancing */
.disco-opt.sel{ animation:disco-opt-pulse .3s ease; }
@keyframes disco-opt-pulse{ 0%{ transform:scale(1);} 40%{ transform:scale(1.015);} 100%{ transform:scale(1);} }

/* recap chip entrance */
.disco-chip{ animation:disco-chip-in .4s cubic-bezier(.16,1,.3,1) both; animation-delay:var(--d,0s); }
@keyframes disco-chip-in{ from{ opacity:0; transform:scale(.9);} to{ opacity:1; transform:scale(1);} }

/* progress dot fill sweep */
.disco-dot.on{ position:relative; }
.disco-dot.cur{ box-shadow:0 0 8px rgba(180,227,138,0.5); }

@media (prefers-reduced-motion:reduce){
  .disco-body,.disco-opt,.disco-chip{ animation:none !important; transition:none !important; transform:none !important; opacity:1 !important; }
}

/* ===== Higher polish pass ===== */
/* Panel: soft ambient glow orb behind content for depth */
.disco-panel{ isolation:isolate; }
.disco-panel > .disco-glow{ content:''; position:absolute; top:-30%; right:-15%; width:60%; height:70%; z-index:0;
  background:radial-gradient(circle,rgba(124,179,66,0.14),transparent 62%); filter:blur(20px); pointer-events:none;
  animation:disco-drift 9s ease-in-out infinite; }
@keyframes disco-drift{ 0%,100%{ transform:translate(0,0) scale(1); opacity:.7;} 50%{ transform:translate(-6%,4%) scale(1.08); opacity:1;} }
.disco-body{ position:relative; z-index:1; }

/* Option: crisper depth, glow on the active marker, smoother hover lift */
.disco-opt{ box-shadow:0 1px 0 rgba(255,255,255,0.03) inset; -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px); }
.disco-opt:hover{ box-shadow:0 8px 22px rgba(0,0,0,0.28), 0 1px 0 rgba(255,255,255,0.05) inset; }
.disco-opt.sel .disco-opt-mark{ box-shadow:0 0 14px rgba(124,179,66,0.55); }
.disco-opt-mark{ transition:all .22s cubic-bezier(.16,1,.3,1), box-shadow .3s; }

/* Question: subtle fade-rise on each new step */
.disco-q{ animation:disco-q-in .4s cubic-bezier(.16,1,.3,1) both; }
@keyframes disco-q-in{ from{ opacity:0; transform:translateY(6px);} to{ opacity:1; transform:translateY(0);} }

/* Count label: tiny live dot */
.disco-count{ display:inline-flex; align-items:center; gap:7px; }
.disco-count::before{ content:''; width:5px; height:5px; border-radius:50%; background:var(--guru-lt,#E3A54B); box-shadow:0 0 6px rgba(237,171,78,0.7); animation:disco-blink 2s ease-in-out infinite; }
@keyframes disco-blink{ 0%,100%{ opacity:1;} 50%{ opacity:0.35;} }

/* Progress dots: current one gets a gradient glow */
.disco-dot{ transition:background .45s, transform .35s cubic-bezier(.34,1.4,.5,1), box-shadow .35s; }
.disco-dot.cur{ transform:scaleX(1.5) scaleY(1.6); }

/* Submit: shimmer sweep on hover */
.disco-submit{ position:relative; overflow:hidden; }
.disco-submit::after{ content:''; position:absolute; top:0; left:-60%; width:40%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.35),transparent); transform:skewX(-20deg); transition:left .5s; }
.disco-submit:hover::after{ left:130%; }

/* Launcher: gentle breathing glow to invite interaction */
.disco-launch{ position:relative; }
.disco-launch::after{ content:''; position:absolute; inset:-1px; border-radius:40px; pointer-events:none;
  box-shadow:0 0 0 0 rgba(237,171,78,0.4); animation:disco-launch-pulse 3.5s ease-in-out infinite; }
@keyframes disco-launch-pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(237,171,78,0); } 50%{ box-shadow:0 0 0 4px rgba(237,171,78,0.08); } }

@media (prefers-reduced-motion:reduce){
  .disco-glow,.disco-q,.disco-count::before,.disco-launch::after,.disco-submit::after{ animation:none !important; }
}

/* talent-path discovery framing */
.disco-talent{ margin:0 0 1.6rem; grid-column:1 / -1; width:100%; }
.disco-talent::before{ content:'Prefer a guided start? Answer a few questions and we will tailor the conversation.'; display:block;
  font-family:var(--font-sans,sans-serif); font-size:0.82rem; color:var(--slate,#48525E); margin-bottom:0.7rem; line-height:1.5; max-width:42ch; }

.disco-talent .disco-panel{ max-width:520px; }
