/* Application form CSS — same hairline vocabulary, extended for a long form.
   Fields are underline-only, matching the marketing site's contact form. */

.ap-shell{min-height:100vh;display:flex;flex-direction:column;background:#fff}

/* Header — navy, continuous with the progress strip beneath it */
.ap-bar{background:var(--navy-900);color:#fff}
.ap-bar__in{display:flex;align-items:center;gap:24px;padding:30px var(--cr-gutter) 26px;max-width:1480px;margin:0 auto;width:100%}
.ap-bar__logo{--aeq-logo-w:clamp(130px,9vw,158px);cursor:pointer}
.ap-bar__meta{margin-left:auto;display:flex;align-items:center;gap:clamp(18px,2.4vw,40px)}
.ap-bar__t{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.45)}
.ap-bar__v{font-size:13px;color:#fff;margin-left:9px;font-variant-numeric:tabular-nums}
.ap-bar__exit{appearance:none;border:1px solid rgba(255,255,255,.22);background:transparent;color:rgba(255,255,255,.7);font:inherit;font-size:12.5px;height:34px;padding:0 16px;border-radius:999px;cursor:pointer;transition:border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}
.ap-bar__exit:hover{border-color:#fff;color:#fff}

/* Progress strip */
.ap-prog{background:var(--navy-800);color:#fff}
.ap-prog__in{display:flex;max-width:1480px;margin:0 auto;padding:0 var(--cr-gutter);overflow-x:auto;scrollbar-width:none}
.ap-prog__in::-webkit-scrollbar{display:none}
.ap-prog__s{appearance:none;border:0;background:transparent;font:inherit;display:flex;align-items:center;gap:11px;padding:15px clamp(16px,1.8vw,30px) 15px 0;cursor:pointer;white-space:nowrap;color:rgba(255,255,255,.42);transition:color var(--dur-base) var(--ease-out)}
.ap-prog__s:hover{color:rgba(255,255,255,.75)}
.ap-prog__s.is-on{color:#fff}
.ap-prog__s.is-done{color:rgba(255,255,255,.62)}
.ap-prog__s:disabled{cursor:default}
.ap-prog__tick{height:1px;width:8px;background:currentColor;opacity:.5;transition:width var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out)}
.ap-prog__s.is-on .ap-prog__tick{width:20px;opacity:1}
.ap-prog__n{font-size:10.5px;font-weight:600;letter-spacing:.14em;font-variant-numeric:tabular-nums;opacity:.7}
.ap-prog__l{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.13em}

/* Body */
.ap-main{flex:1;max-width:1480px;margin:0 auto;width:100%;padding:clamp(48px,4.4vw,84px) var(--cr-gutter) clamp(56px,5vw,96px)}
.ap-step{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:clamp(48px,5.4vw,112px);align-items:start;animation:aeq-view-fade-in .38s var(--ease-expressive) both}
.ap-stepnum{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--navy-700)}
.ap-h2{font-family:var(--cr-display);font-size:clamp(28px,2.7vw,48px);font-weight:600;letter-spacing:-.024em;line-height:1.08;margin-top:16px}
.ap-lede{font-size:clamp(15px,1.05vw,17.5px);line-height:1.72;color:var(--slate-600);max-width:42em;margin-top:20px;text-wrap:pretty}

/* Fields */
.ap-fields{margin-top:clamp(36px,3.2vw,56px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,3.4vw,64px)}
.ap-f{display:flex;flex-direction:column;gap:7px;padding:0 0 clamp(22px,1.9vw,30px)}
.ap-f--full{grid-column:1/-1}
.ap-f label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.13em;color:var(--slate-500)}
.ap-f label em{font-style:normal;text-transform:none;letter-spacing:0;color:var(--slate-400);font-weight:400;margin-left:7px;font-size:11.5px}
.ap-f input,.ap-f select,.ap-f textarea{font-family:inherit;font-size:16px;color:var(--slate-900);background:transparent;border:0;border-bottom:1px solid var(--slate-200);border-radius:0;padding:9px 0;outline:none;transition:border-color var(--dur-base) var(--ease-out)}
.ap-f input:focus,.ap-f select:focus,.ap-f textarea:focus{border-bottom-color:var(--navy-800)}
.ap-f input::placeholder,.ap-f textarea::placeholder{color:var(--slate-300)}
.ap-f select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--slate-400) 50%),linear-gradient(135deg,var(--slate-400) 50%,transparent 50%);background-position:calc(100% - 11px) 18px,calc(100% - 6px) 18px;background-size:5px 5px;background-repeat:no-repeat}
.ap-f textarea{resize:vertical;min-height:150px;line-height:1.7;font-size:16px}
.ap-f__help{font-size:12.5px;line-height:1.6;color:var(--slate-500)}
.ap-f__count{font-size:11.5px;color:var(--slate-400);font-variant-numeric:tabular-nums;align-self:flex-end}
.ap-f__count.is-over{color:var(--error)}

/* Choice groups */
.ap-choices{display:flex;flex-wrap:wrap;gap:9px;padding-top:3px}
.ap-chip{appearance:none;border:1px solid var(--slate-200);background:transparent;font:inherit;font-size:14px;color:var(--slate-600);padding:9px 18px;border-radius:999px;cursor:pointer;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}
.ap-chip:hover{border-color:var(--slate-400);color:var(--slate-900)}
.ap-chip.is-on{background:var(--navy-900);border-color:var(--navy-900);color:#fff}

/* Yes / no */
.ap-binary{display:flex;gap:0;border:1px solid var(--slate-200);border-radius:999px;overflow:hidden;width:fit-content;margin-top:4px}
.ap-binary button{appearance:none;border:0;background:transparent;font:inherit;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-500);padding:11px 26px;cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}
.ap-binary button.is-on{background:var(--navy-900);color:#fff}

/* Uploads */
.ap-drop{border:1px dashed var(--slate-300);padding:clamp(24px,2.2vw,36px);display:flex;align-items:center;gap:20px;cursor:pointer;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}
.ap-drop:hover{border-color:var(--navy-700);background:var(--slate-50)}
.ap-drop .icon{color:var(--slate-400);flex:none}
.ap-drop__t{font-size:15px;color:var(--slate-900)}
.ap-drop__n{font-size:12.5px;color:var(--slate-500);margin-top:4px}
.ap-drop.is-set{border-style:solid;border-color:var(--navy-800);background:#fff}
.ap-drop.is-set .icon{color:var(--navy-700)}

/* Side panel */
.ap-side{border-top:1px solid var(--slate-200);position:sticky;top:24px}
.ap-side__b{padding:22px 0;border-bottom:1px solid var(--slate-200)}
.ap-side__t{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--slate-500);margin-bottom:9px}
.ap-side__p{font-size:13.5px;line-height:1.68;color:var(--slate-600)}
.ap-side__save{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--slate-400);padding-top:18px}
.ap-side__dot{width:5px;height:5px;border-radius:50%;background:var(--success);flex:none}

/* Note box — for the confidentiality assurances */
.ap-note{display:flex;gap:14px;align-items:flex-start;border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);padding:22px 0;margin:clamp(30px,2.6vw,44px) 0 0}
.ap-note .icon{color:var(--navy-700);flex:none;margin-top:1px}
.ap-note p{font-size:14px;line-height:1.7;color:var(--slate-600);max-width:48em}
.ap-note strong{color:var(--slate-900);font-weight:600}

/* Footer actions */
.ap-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:clamp(38px,3.4vw,60px);padding-top:clamp(26px,2.2vw,36px);border-top:1px solid var(--slate-200)}
.ap-back{appearance:none;border:0;background:transparent;font:inherit;font-size:14px;color:var(--slate-500);cursor:pointer;border-bottom:1px solid var(--slate-200);padding-bottom:2px;transition:color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.ap-back:hover{color:var(--slate-900);border-bottom-color:var(--slate-900)}
.ap-actions__r{margin-left:auto;font-size:12.5px;color:var(--slate-400)}

/* ══ Submitted ══ */
.ap-done{min-height:100vh;display:flex;flex-direction:column;color:#fff;background:linear-gradient(180deg,rgba(2,6,18,.78) 0%,rgba(5,13,36,.7) 42%,rgba(5,13,36,.95) 100%),url('assets/images/aequitas-background.png') center/cover no-repeat,var(--navy-900)}
.ap-done__in{flex:1;max-width:1480px;margin:0 auto;width:100%;padding:0 var(--cr-gutter) clamp(52px,4.6vw,88px);display:flex;flex-direction:column}
.ap-done__rule{width:100%;height:1px;background:rgba(255,255,255,.5);transform:scaleX(0);animation:aeq-scale-x 1s var(--ease-out) .5s both;margin-top:clamp(28px,2.4vw,40px)}
.ap-done__body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(52px,5vw,96px) 0;animation:aeq-slide-in-up 1s var(--ease-out) .3s both}
.ap-done__h{font-family:var(--cr-display);font-size:clamp(40px,4.8vw,88px);font-weight:600;line-height:1.03;letter-spacing:-.028em}
.ap-done__p{font-size:clamp(16px,1.1vw,19px);line-height:1.72;color:rgba(255,255,255,.66);max-width:40em;margin-top:26px;text-wrap:pretty}
.ap-done__p+.ap-done__p{margin-top:16px}
.ap-track{margin-top:clamp(48px,4.4vw,80px);border-top:1px solid rgba(255,255,255,.18);animation:aeq-fade-in 1s var(--ease-out) 1.1s both}
.ap-track__s{display:grid;grid-template-columns:24px 1fr auto;gap:20px;align-items:center;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.ap-track__m{width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;color:transparent}
.ap-track__s.is-done .ap-track__m{background:#fff;border-color:#fff;color:var(--navy-900)}
.ap-track__l{font-size:clamp(15px,1.05vw,17.5px);color:rgba(255,255,255,.5)}
.ap-track__s.is-done .ap-track__l{color:#fff}
.ap-track__st{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.35)}
.ap-track__s.is-done .ap-track__st{color:rgba(255,255,255,.62)}
.ap-done__foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:11.5px;color:rgba(255,255,255,.38)}

@media (max-width:1060px){
  .ap-step{grid-template-columns:1fr;gap:44px}
  .ap-side{position:static}
  .ap-bar__meta .ap-bar__i{display:none}
}
@media (max-width:640px){
  .ap-fields{grid-template-columns:1fr}
}

/* Submission failure. Distinct from the informational notes so it cannot be
   mistaken for guidance, and it always says the draft survived — the worst
   outcome here is an applicant believing fifteen minutes of writing is gone. */
.ap-note--error{border-color:#b45309;background:#fffbf5}
.ap-note--error .icon{color:#b45309}
.ap-note--error p strong{color:#b45309}

/* The reference on the confirmation screen. */
.ap-done__ref{font-size:14px;line-height:1.6;color:rgba(255,255,255,.72);margin:14px 0 0}
.ap-done__ref strong{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.02em}

/* ── Error states ────────────────────────────────────────────────────────────
   The form is underline-only, so an error is the underline turning red — the
   same gesture as focus, not a box appearing. The message replaces the help
   text in place, so nothing below it moves and the layout never jumps. */
.ap-f--err > label{color:var(--error)}
.ap-f--err input,.ap-f--err select,.ap-f--err textarea{border-bottom-color:var(--error)}
.ap-f--err input:focus,.ap-f--err select:focus,.ap-f--err textarea:focus{border-bottom-color:var(--error)}
.ap-f__err{font-size:12.5px;line-height:1.6;color:var(--error)}
/* Chips and the yes/no pair have no underline of their own to colour. */
.ap-f--err .ap-choices,.ap-f--err .ap-binary{border-bottom:1px solid var(--error);padding-bottom:12px}
.ap-drop--err{border-color:var(--error)}
