/* Walker Agency tool animations: gold progress ring, result reveal, sparkle burst, "Let's talk" CTA.
   Visible-by-default: nothing is hidden unless JS adds .ta-on, and all motion is off for reduced-motion visitors. */
.ta-badge{--ta-gold:#C9A227;--ta-navy:#0C1F3A;position:relative;display:block;width:64px;height:64px;margin:0 0 12px;flex:none}
.ta-badge.ta-sm{width:52px;height:52px;margin-bottom:8px}
.ta-badge svg.ta-ring{width:100%;height:100%;display:block;transform:rotate(-90deg);overflow:visible}
.ta-badge .ta-track{fill:none;stroke:rgba(201,162,39,.28);stroke-width:3}
.ta-badge .ta-prog{fill:none;stroke:var(--ta-gold);stroke-width:3.5;stroke-linecap:round}
.ta-badge .ta-core{fill:var(--ta-navy)}
.ta-badge .ta-icon{position:absolute;inset:0;margin:auto;width:46%;height:46%;color:#E0B84F}
.ta-badge .ta-icon svg{width:100%;height:100%;display:block}
.ta-badge .ta-halo{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 2px rgba(201,162,39,.65);opacity:0;pointer-events:none}
.ta-badge .ta-pct{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);font:700 10px/1 Inter,system-ui,sans-serif;letter-spacing:.04em;color:#8A6D0B;background:#fffdf8;border:1px solid rgba(201,162,39,.5);border-radius:999px;padding:2px 6px;white-space:nowrap}
.ta-dark .ta-pct{background:#0C1F3A;color:#E0B84F}
.ta-badge.ta-done .ta-pct{background:#C9A227;color:#0C1F3A;border-color:#C9A227}
.ta-head{display:flex;align-items:center;gap:14px}
.ta-head .ta-badge{margin:0}
.ta-cta{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:11px 20px;border-radius:999px;background:#C9A227;color:#0C1F3A!important;font:700 15px/1.2 Inter,system-ui,sans-serif;text-decoration:none!important;box-shadow:0 6px 18px rgba(201,162,39,.28)}
.ta-cta:hover{background:#d8b23a}
.ta-cta:focus-visible{outline:2px solid #0C1F3A;outline-offset:3px}
.ta-cta-wrap{text-align:center}
.ta-fx{position:fixed;left:0;top:0;width:100vw;height:100vh;pointer-events:none;z-index:9999}

@media (prefers-reduced-motion:no-preference){
  /* open: ring draws itself, icon pops, first question rises in */
  .ta-on .ta-badge .ta-track{stroke-dasharray:var(--ta-c);stroke-dashoffset:var(--ta-c)}
  .ta-on .ta-badge.ta-open .ta-track{stroke-dashoffset:0;transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}
  .ta-on .ta-badge .ta-prog{transition:stroke-dashoffset .55s cubic-bezier(.4,0,.2,1)}
  .ta-on .ta-badge .ta-icon,.ta-on .ta-badge .ta-pct{opacity:0;transform:scale(.6)}
  .ta-on .ta-badge .ta-pct{transform:translateX(-50%) scale(.6)}
  .ta-on .ta-badge.ta-open .ta-icon{opacity:1;transform:none;transition:opacity .4s ease .25s,transform .5s cubic-bezier(.34,1.56,.64,1) .25s}
  .ta-on .ta-badge.ta-open .ta-pct{opacity:1;transform:translateX(-50%);transition:opacity .3s ease .6s,transform .3s ease .6s,background .3s,color .3s}
  .ta-on .ta-first{opacity:0;transform:translateY(14px)}
  .ta-on .ta-first.ta-in{opacity:1;transform:none;transition:opacity .5s ease-out,transform .5s cubic-bezier(.2,.7,.2,1)}
  /* completion: ring closes with a soft gold pulse */
  .ta-badge.ta-pulse{animation:taPop .7s cubic-bezier(.34,1.56,.64,1)}
  .ta-badge.ta-pulse .ta-halo{animation:taHalo .9s ease-out}
  @keyframes taPop{0%{transform:scale(1)}35%{transform:scale(1.09)}100%{transform:scale(1)}}
  @keyframes taHalo{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.55)}}
  .ta-glow{animation:taGlow 1s ease-out}
  @keyframes taGlow{0%{box-shadow:0 0 0 0 rgba(201,162,39,.55)}100%{box-shadow:0 0 0 18px rgba(201,162,39,0)}}
  /* CTA eases in under the result */
  .ta-on .ta-cta.ta-wait{opacity:0;transform:translateY(10px);visibility:hidden}
  .ta-on .ta-cta.ta-show{opacity:1;transform:none;visibility:visible;transition:opacity .45s ease-out,transform .45s cubic-bezier(.2,.7,.2,1),visibility 0s}
  .ta-nudge{animation:taNudge .8s cubic-bezier(.34,1.56,.64,1)}
  @keyframes taNudge{0%{transform:none}40%{transform:translateY(-4px)}100%{transform:none}}
  .ta-reveal{animation:taRise .6s cubic-bezier(.2,.7,.2,1)}
  @keyframes taRise{from{opacity:0;transform:translateY(14px) scale(.98)}}
}
