/* Focused audit canvas — inviting, one prompt at a time */
.audit-page{background:#2C2C2C}
.audit-page .footer{margin-top:0}
.audit-canvas{
  position:relative;
  min-height:calc(100vh - 82px);
  padding:28px 0 72px;
  background:
    radial-gradient(900px 420px at -10% 0%, rgba(74,111,165,.22), transparent 60%),
    radial-gradient(720px 380px at 110% 10%, rgba(255,255,255,.10), transparent 55%),
    linear-gradient(180deg,#2C2C2C 0%,#141414 48%,#1B1A18 100%);
}
.audit-canvas-inner{width:min(760px,calc(100% - 48px))}
.audit-crumb{margin:0 0 18px;color:rgba(255,255,255,.62);font-size:.72rem;font-weight:750}
.audit-crumb a{color:rgba(255,255,255,.84)}
.audit-crumb a:hover{color:#F0B89A}

.audit-stage{
  background:#fff;
  border-radius:28px;
  padding:36px 40px 32px;
  box-shadow:0 30px 80px rgba(10,20,48,.28);
  display:flex;
  flex-direction:column;
}
.audit-stage:has(.audit-welcome){
  min-height:0;
}
.audit-stage:has(.audit-welcome) .audit-nav{
  justify-content:flex-start;
  margin-top:22px;
  padding-top:8px;
}
.audit-stage:has(.audit-welcome) #backBtn{display:none}
.audit-stage:has(.audit-welcome) #nextBtn{min-width:220px}
.audit-progress-wrap{margin-bottom:22px}
.audit-progress-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
}
.audit-stage .progress{margin-bottom:0;height:6px}

.audit-welcome{display:grid;gap:18px;padding:12px 0 8px}
.audit-welcome .audit-q{
  max-width:16ch;
  margin:0;
  font-size:clamp(2.1rem,5vw,3.35rem);
  line-height:1.02;
  letter-spacing:-.04em;
  color:var(--ink);
}
.audit-welcome p{
  max-width:38ch;
  margin:0;
  font-size:1.05rem;
  line-height:1.55;
}
.audit-welcome-trust{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
}
.audit-welcome-trust span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  background:var(--navy-soft);
  color:var(--navy);
  font-size:.74rem;
  font-weight:750;
}

.audit-welcome-outcomes{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 24px;
  margin-top:8px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.audit-welcome-outcomes div{
  padding-left:14px;
  border-left:3px solid var(--orange);
}
.audit-welcome-outcomes b{
  display:block;
  margin-bottom:6px;
  font-size:.72rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--navy);
}
.audit-welcome-outcomes span{
  display:block;
  font-size:.92rem;
  line-height:1.45;
  color:var(--text);
}
.audit-loader{display:none}
.audit-loader.show{display:block!important;opacity:1;transform:none}

.audit-loader-barwrap{display:flex;align-items:center;gap:12px;margin:0 0 18px}
.audit-loader-barwrap .audit-loader-progress{flex:1;margin:0;height:10px;background:#e7e5e0;position:relative;overflow:hidden}
.audit-loader-barwrap .audit-loader-progress span{
  position:relative;
  background:linear-gradient(90deg,#141414,#4A6FA5,#141414);
  background-size:180% 100%;
  animation:auditBarShine 1.1s linear infinite;
  transition:width .2s linear;
}
.audit-loader-pct{min-width:3.2ch;font-size:.78rem;font-weight:800;color:var(--navy);letter-spacing:.04em}
@keyframes auditBarShine{0%{background-position:100% 0}100%{background-position:-80% 0}}
@media (max-width:680px){
  .audit-welcome-outcomes{grid-template-columns:1fr}
}

.audit-prompt{display:grid;gap:16px;padding:6px 0 4px}
.audit-prompt .audit-q{
  margin:0;
  font-size:clamp(1.55rem,3.2vw,2.15rem);
  line-height:1.15;
}
.audit-prompt .prompt-help{
  margin:0;
  max-width:46ch;
  font-size:.95rem;
}
.audit-prompt .field{
  min-height:58px;
  font-size:1.05rem;
  border-width:1.5px;
}
.choice-grid{display:grid;gap:10px}
.choice-grid.tight{grid-template-columns:1fr}
.choice{
  width:100%;
  border:1.5px solid #d5dae3;
  background:#fff;
  color:var(--ink);
  border-radius:14px;
  padding:16px 18px;
  text-align:left;
  font-weight:700;
  font-size:.98rem;
  line-height:1.35;
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease, transform .15s ease;
}
.choice:hover{border-color:var(--orange);background:var(--orange-soft)}
.choice.selected{
  border-color:var(--orange);
  background:var(--orange-soft);
  box-shadow:inset 0 0 0 1px var(--orange);
}
.choice small{display:block;margin-top:4px;font-weight:600;color:var(--text);font-size:.82rem}

.skip-note{margin:0;font-size:.82rem;color:var(--muted)}
.optional-grid{display:grid;gap:14px}
.software-choice.audit-soft{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 12px;
  padding:16px;
  border-radius:14px;
}
.software-choice.audit-soft label{display:flex;gap:8px;align-items:flex-start;font-size:.86rem}

.audit-page .audit-nav{
  margin-top:auto;
  padding-top:26px;
  display:flex;
  justify-content:space-between;
  gap:12px;
}
.audit-page .audit-nav .btn{min-width:140px}
.audit-page .audit-nav .btn[data-hidden="true"]{visibility:hidden}

.audit-page .result{padding-top:4px}
.audit-cta-band{
  display:grid;
  gap:14px;
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.audit-cta-intro h3{
  margin-bottom:6px;
  font-size:clamp(1.35rem,2.4vw,1.7rem);
}
.audit-cta-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.cta-card{
  border:1px solid #dfe1e5;
  border-radius:18px;
  padding:20px 18px 18px;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.cta-card.primary{
  border-color:var(--navy);
  background:linear-gradient(180deg,#141414,#2C2C2C);
  color:#fff;
}
.cta-card.primary .field-label{color:#fff}
.cta-card.primary p,
.cta-card.primary .contact-privacy{color:#e8edf6}
.cta-card.primary h3{color:#fff;font-size:1.15rem;margin:0}
.cta-card h3{font-size:1.15rem;margin:0}
.cta-card p{margin:0;font-size:.86rem;line-height:1.45}
.cta-card .field{min-height:46px;padding:10px 12px}
.cta-card .btn{width:100%;margin-top:6px}
.cta-card.primary .field{border-color:rgba(255,255,255,.28)}
.cta-fields{display:grid;gap:8px}
.advisor-chat{margin-top:16px}

@media (max-width:980px){
  .audit-canvas{padding:18px 0 48px}
  .audit-stage{padding:26px 22px 22px;min-height:0;border-radius:22px}
  .audit-cta-grid,.software-choice.audit-soft{grid-template-columns:1fr}
  .audit-welcome .audit-q{max-width:none}
}
@media (max-width:680px){
  .audit-canvas-inner{width:calc(100% - 28px)}
  .audit-page .audit-nav{display:grid;grid-template-columns:1fr 1fr}
  .audit-page .audit-nav .btn{min-width:0;width:100%}
  .choice{padding:14px 14px}
}

.audit-loader.show #auditLoaderProgress{
  animation: auditFill 7.5s cubic-bezier(.15,.75,.25,1) forwards, auditBarShine 1.1s linear infinite;
}
@keyframes auditFill{from{width:8%}to{width:92%}}

.audit-page .result.show,
.audit-page .result[style*="display: block"],
.audit-page .result[style*="display:block"]{display:block!important}
