/* Fast, purposeful motion; all controls remain available during transitions. */
.ap-page .ap-qcard.q-anim-in{animation:afQuestionIn .22s ease-out both}
.ap-page .ap-qcard.q-anim-back{animation:afQuestionBack .2s ease-out both}
@keyframes afQuestionIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes afQuestionBack{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.ap-page .ap-progress-fill,.ap-page .aq-progress-track i{transition:width .25s ease-out}
.ap-page .ap-type-tile,.ap-page .ox-opt,.ap-page #aqGoalChoices button{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}
.ap-page .ap-type-tile.is-sel,.ap-page .ox-opt.is-sel{box-shadow:inset 0 0 0 2px #71915e}
.af-chapter-status{margin:0 0 16px;color:var(--micro-ink);font:600 13px/1.6 system-ui,sans-serif}
.af-chapter-label{margin:0!important;color:var(--micro-ink)!important;font-size:13px!important}
.af-chapter-milestone{font-size:12px!important;font-weight:400;line-height:1.6!important;margin:6px 0 0!important;color:var(--micro-muted)!important}
.af-chapter-milestone:empty{display:none}
.af-chapter-dots{display:flex;gap:6px;margin-top:10px}
.af-chapter-dots i{height:3px;flex:1;background:var(--micro-line);border-radius:4px;transition:background-color .2s}
.af-chapter-dots i.is-covered{background:#8aa17c}.af-chapter-dots i.is-current{background:#315d42}
.af-application-received .ap-guide,.af-application-received .ap-full-path-back,.af-application-received .ap-form-help,.af-application-received #apReviewReturn{display:none!important}
.af-receipt-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:520px;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:0;border:1px solid var(--micro-line);border-radius:24px;margin:auto;background:var(--micro-card,#fffef9);color:var(--micro-ink,#244a3b);box-shadow:0 24px 90px #102b3540;font-family:system-ui,sans-serif;text-align:left}
.af-receipt-dialog::backdrop{background:rgba(15,31,27,.58);backdrop-filter:blur(3px)}
.af-receipt-dialog[open]{animation:afReceiptIn .24s ease-out both}
.af-receipt-content{position:relative;padding:34px}
.af-receipt-close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;background:transparent;color:inherit;border:0;border-radius:50%;font:28px/1 system-ui;cursor:pointer}
.af-receipt-tick{width:52px;height:52px;margin:0 0 20px;color:#315d42}
.af-receipt-tick svg{width:100%;height:100%;fill:var(--micro-soft,#ebf0e3);stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.af-receipt-tick path{fill:none;stroke-width:3;stroke-dasharray:42;stroke-dashoffset:0;animation:afReceiptTick .45s ease-out both}
.af-receipt-eyebrow{font-size:10px!important;font-weight:750!important;letter-spacing:.14em;margin:0 0 10px!important;color:var(--micro-muted)!important}
.af-receipt-dialog h2{font:600 clamp(26px,5vw,34px)/1.12 system-ui,sans-serif;letter-spacing:-.04em;margin:0 24px 16px 0;color:inherit}
.af-receipt-dialog p,.af-receipt-dialog li{font-size:14px;line-height:1.65;color:var(--micro-muted,#587365)}
.af-receipt-dialog h3{font-size:14px;line-height:1.4;margin:22px 0 10px;color:inherit}
.af-receipt-dialog ol{padding-left:22px;margin:0}.af-receipt-dialog li{padding-left:4px;margin:7px 0}
.af-receipt-dialog .af-receipt-reference{padding:12px 16px;border:1px solid var(--micro-line);border-radius:10px;color:var(--micro-ink);font-weight:650;overflow-wrap:anywhere;margin:18px 0}
.af-receipt-dialog .af-receipt-note{font-size:12px;line-height:1.6;margin:20px 0}
.af-receipt-primary{display:block;width:100%;min-height:48px;padding:13px 18px;border:0;border-radius:50px;background:#315d42;color:#fff;font:650 14px/1.5 system-ui;cursor:pointer}
.af-receipt-primary:hover{background:#244a33}.af-receipt-contact{display:block;min-height:44px;padding:12px 0 0;color:inherit;text-align:center;font-size:12px;line-height:1.6;text-underline-offset:4px;box-sizing:border-box}
.af-receipt-dialog :is(button,a):focus-visible{outline:3px solid #b58439;outline-offset:3px}
.af-receipt-dialog h2:focus{outline:none}
.ap-page #apSuccess .ap-success__icon{font:600 32px/1.5 system-ui;color:#315d42}
[data-theme=dark] .af-receipt-tick{color:#a7c799}
@keyframes afReceiptIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes afReceiptTick{from{stroke-dashoffset:42}to{stroke-dashoffset:0}}
@media(max-width:500px){.af-receipt-content{padding:28px 22px}.af-receipt-dialog{border-radius:20px}.af-receipt-dialog p,.af-receipt-dialog li{font-size:13px}}
@media(prefers-reduced-motion:reduce){.ap-page .ap-qcard.q-anim-in,.ap-page .ap-qcard.q-anim-back,.af-receipt-dialog[open],.af-receipt-tick path{animation:none!important}.ap-page .ap-progress-fill,.ap-page .aq-progress-track i,.af-chapter-dots i,.ap-page .ap-type-tile,.ap-page .ox-opt,.ap-page #aqGoalChoices button{transition:none!important}.ap-page .ap-type-tile:hover,.ap-page .ox-opt:hover{transform:none!important}}
