/* ============================================================
   Assessment page
   ============================================================ */

.quiz-head{padding:clamp(44px,7vw,76px) 0 clamp(26px,4vw,40px);}
.quiz-head h1{font-style:italic;font-size:clamp(2.1rem,5vw,3.4rem);}
.quiz-head h1 em{font-style:normal;color:var(--gold-deep);}
.quiz-head .lede{margin-top:18px;max-width:62ch;}

.stage{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;align-items:start;padding-bottom:clamp(56px,9vw,110px);}
@media(max-width:900px){.stage{grid-template-columns:1fr;}}

.panel{
  background:var(--paper);border:1px solid var(--line);border-radius:6px;
  box-shadow:var(--shadow);position:relative;overflow:hidden;
}

/* ---------------- Intro ---------------- */
#introPanel{padding:clamp(28px,5vw,50px);display:flex;flex-direction:column;gap:24px;}
.intro-figs{display:flex;gap:9px;flex-wrap:wrap;}
.fig-chip{
  display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;
  border:1px solid var(--line-strong);border-radius:22px;font-size:11.5px;font-weight:500;
  color:var(--muted);background:var(--cream);transition:border-color .2s,color .2s,transform .2s var(--ease);
}
.fig-chip:hover{border-color:var(--ac);color:var(--ink);transform:translateY(-2px);}
.fig-chip img{width:22px;height:22px;object-fit:contain;}
.stat-row{display:flex;gap:clamp(20px,5vw,52px);flex-wrap:wrap;}
.stat{display:flex;flex-direction:column;gap:4px;}
.stat b{font-family:'Fraunces',serif;font-size:2.1rem;font-weight:400;line-height:1;color:var(--gold-deep);}
.stat span{font-family:'JetBrains Mono',monospace;font-size:9.5px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted-dim);}
.method{
  font-size:13.5px;color:var(--muted);border-left:2px solid var(--gold);
  padding-left:16px;max-width:56ch;line-height:1.68;
}
.method b{color:var(--ink);font-weight:600;}

/* ---------------- Question panel ---------------- */
#quizPanel{padding:clamp(26px,4vw,48px);display:none;}
.qtop{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:20px;}
.qcount{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--muted-dim);}
.qcount b{color:var(--gold-deep);font-weight:500;}
.qweight{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.09em;color:var(--muted-dim);}
.progress-track{height:2px;background:var(--line);margin-bottom:34px;overflow:hidden;}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--gold-lit),var(--gold));width:0%;transition:width .4s var(--ease);}
.qtext{
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;
  font-size:clamp(1.4rem,3.2vw,2.05rem);line-height:1.24;
  min-height:2.5em;margin-bottom:36px;letter-spacing:-.01em;
}
.scale-labels{
  display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;
  font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-dim);margin-bottom:10px;
}
.scale-row{display:flex;gap:7px;margin-bottom:34px;}
.scale-btn{
  flex:1;min-width:0;aspect-ratio:1;background:var(--cream);
  border:1px solid var(--line-strong);color:var(--muted);border-radius:3px;
  font-family:'JetBrains Mono',monospace;font-size:13px;
  transition:background .16s,border-color .16s,color .16s,transform .16s var(--ease);
}
.scale-btn:hover{border-color:var(--gold);color:var(--ink);transform:translateY(-2px);}
.scale-btn.active{background:var(--gold);border-color:var(--gold);color:#2B2013;font-weight:600;transform:translateY(-2px);}
@media(max-width:480px){.scale-row{flex-wrap:wrap;gap:6px;}.scale-btn{flex:0 0 calc(20% - 5px);}}
.navrow{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.navrow .hint{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;color:var(--muted-dim);}
@media(max-width:520px){.navrow .hint{display:none;}}

/* ---------------- Live signal ---------------- */
#signalPanel{padding:26px 24px;position:sticky;top:88px;}
@media(max-width:900px){#signalPanel{position:static;}}
.signal-title{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);}
.signal-sub{font-size:11px;color:var(--muted-dim);margin:5px 0 20px;}
.animal-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);}
.animal-row:last-child{border-bottom:none;}
.badge{
  width:34px;height:34px;flex-shrink:0;border-radius:50%;
  border:1px solid var(--line-strong);background:var(--cream);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  transition:box-shadow .35s var(--ease),border-color .35s;
}
.badge img{width:23px;height:23px;object-fit:contain;}
.animal-row.leading .badge{border-color:var(--ac);box-shadow:0 0 0 3px color-mix(in srgb, var(--ac) 17%, transparent);}
.animal-meta{flex:1;min-width:0;}
.animal-name{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;font-weight:600;margin-bottom:6px;}
.animal-name .score{font-family:'JetBrains Mono',monospace;font-weight:400;color:var(--muted-dim);font-size:11px;}
.bar-track{height:5px;background:var(--line);border-radius:3px;overflow:hidden;}
.bar-fill{height:100%;width:0%;background:var(--ac);border-radius:3px;transition:width .5s var(--ease);}

/* ---------------- Results ---------------- */
#resultsPanel{padding:0;display:none;}
.reveal-hero{
  background:linear-gradient(160deg,var(--ac),color-mix(in srgb,var(--ac) 58%, #150F07));
  padding:clamp(30px,5vw,48px);color:#fff;position:relative;overflow:hidden;
}
.reveal-hero::after{
  content:"";position:absolute;inset:0;opacity:.15;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");
}
.reveal-hero>*{position:relative;z-index:1;}
.reveal-eyebrow{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:20px;}
.reveal-top{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.reveal-badge{
  width:88px;height:88px;flex-shrink:0;border-radius:50%;
  border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
  animation:popIn .55s var(--ease);
}
@keyframes popIn{from{transform:scale(.6);opacity:0;}to{transform:none;opacity:1;}}
.reveal-badge img{width:56px;height:56px;object-fit:contain;}
.reveal-name{font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.05;color:#fff;}
.reveal-epithet{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-top:8px;}
.reveal-margin{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:rgba(255,255,255,.72);margin:26px 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.22);}
.reveal-margin b{color:#fff;font-weight:500;}

.reveal-body{padding:clamp(28px,4vw,46px);}
.reveal-blurb{
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;
  font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.56;color:var(--ink);
  margin:0 0 26px;max-width:56ch;
}
.reveal-body p.body{color:var(--muted);font-size:15px;line-height:1.76;margin:0 0 15px;max-width:62ch;}
.sub-h{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-dim);margin:30px 0 14px;padding-top:22px;border-top:1px solid var(--line);}
.a-traits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.a-traits li{position:relative;padding-left:24px;font-size:14.5px;line-height:1.62;color:var(--muted);}
.a-traits li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:1px;background:var(--ac);}

/* ---------------- Save form ---------------- */
.save-box{margin-top:30px;padding:24px;background:var(--cream);border:1px solid var(--line);border-radius:5px;}
.save-box h3{font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:1.2rem;margin:0 0 6px;}
.save-box p{font-size:13px;color:var(--muted);margin:0 0 18px;line-height:1.6;max-width:52ch;}
.save-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;}
.save-row .field{flex:1;min-width:190px;}
label{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:400;color:var(--muted);text-transform:uppercase;letter-spacing:.11em;display:block;margin-bottom:7px;}
input[type="email"],input[type="text"],select{
  font-family:inherit;font-size:14px;padding:12px 14px;width:100%;
  border:1px solid var(--line-strong);border-radius:3px;background:var(--paper);color:var(--ink);
}
.save-status{font-size:13px;margin-top:14px;min-height:1.2em;}
.save-status.ok{color:#3F6B22;}
.save-status.err{color:var(--rust);}

.footer-actions{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap;}

/* ---------------- Cross-sell ---------------- */
.crosssell{
  background:var(--night);color:var(--cream);border-radius:6px;
  padding:clamp(30px,5vw,52px);display:grid;grid-template-columns:1fr auto;
  gap:clamp(24px,4vw,50px);align-items:center;margin-bottom:clamp(56px,9vw,100px);
  position:relative;overflow:hidden;box-shadow:var(--shadow-lg);
}
.crosssell::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 55% 100% at 92% 50%, rgba(184,134,46,.24), transparent 68%);}
.crosssell>*{position:relative;z-index:1;}
@media(max-width:760px){.crosssell{grid-template-columns:1fr;}.crosssell img{display:none;}}
.crosssell h2{color:#FFFDF6;font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:14px;}
.crosssell h2 em{font-style:italic;color:var(--gold-lit);}
.crosssell p{color:rgba(251,246,234,.7);font-size:15px;line-height:1.72;max-width:52ch;margin:0 0 26px;}
.crosssell img{width:clamp(120px,16vw,180px);filter:drop-shadow(0 24px 44px rgba(0,0,0,.55));}
