/* Careers · apply (/careers/apply) — prefix apl. The hero, the three-step strip, the stepper + application document,
   the side column, the success ticket and "your data". Tokens only; no gradients except mask fades; no !important.
   The stepped view is scoped under .apl-form.is-steps, which assets/js/careers-apply.js adds: without JS every
   step is on the page in order. */

/* blue never sits inside a heading: an icon in a heading takes the heading's colour for its accent too */
.apl :is(h1,h2,h3,h4,h5,h6) .xt-ico{--xt-accent:currentColor}

/* ---------- hero -------------------------------------------------------- */
.apl-hero{padding-top:var(--bdh-hero-t);padding-bottom:clamp(40px,5vw,72px)}
.apl-hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,88px);align-items:center}
.apl-hero__copy{display:flex;flex-direction:column;gap:22px;min-width:0}
.apl-hero__copy .lbl{margin:0}
.apl-hero__h{margin:0;max-width:15ch}
.apl-hero__lead{margin:0;max-width:52ch}
.apl-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;font-size:var(--t-sm);color:var(--muted)}
.apl-crumbs li{display:inline-flex;align-items:center;min-width:0}
.apl-crumbs li+li::before{content:"/";margin:0 10px;color:var(--ghost)}
.apl-crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line-3)}
.apl-crumbs a:hover{color:var(--ink)}
.apl-crumbs [aria-current]{color:var(--ink)}
.apl-pill{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 14px;align-self:flex-start;max-width:100%;margin:6px 0 0;padding:10px 12px 10px 10px;border-radius:var(--r-pill);background:var(--ink);color:var(--on-ink);box-shadow:var(--sh-2)}
.apl-pill__k{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:var(--r-pill);background:var(--blue);font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.14em;text-transform:uppercase;color:var(--on-ink)}
.apl-pill__t{font-family:var(--f-h);font-weight:500;font-size:var(--t-body);color:var(--on-ink)}
.apl-pill__m{font-family:var(--f);font-size:var(--t-xs);color:var(--on-ink-3);padding-right:8px}
.apl-pill--spec{background:var(--paper);color:var(--ink);border:1px solid var(--line-3);box-shadow:none}
.apl-pill--spec .apl-pill__k{background:var(--paper-3);color:var(--ink)}
.apl-pill--spec .apl-pill__t{color:var(--ink)}
.apl-pill--spec .apl-pill__m{color:var(--muted)}
.apl-note{display:flex;gap:8px;align-items:flex-start;margin:0;padding:12px 14px;border-radius:var(--r);background:var(--paper-3);font-size:var(--t-sm);line-height:1.55;color:var(--ink);max-width:60ch}
.apl-note .xt-ico{flex:none;margin-top:2px}
.apl-hero__fig{position:relative;margin:0;min-width:0}
.apl-hero__img{display:block;aspect-ratio:5/4;border-radius:var(--r-xl)}
.apl-hero__chips{position:absolute;left:16px;bottom:16px;right:16px;z-index:2;display:flex;flex-wrap:wrap;gap:8px}
.apl-hero__chips .bdh-cap-chip[hidden]{display:none}

/* ---------- the strip --------------------------------------------------- */
.apl-strip{padding-top:clamp(24px,3vw,40px)}
.apl-strip__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--bdh-gap)}
.apl-strip__i{display:flex;flex-direction:column;gap:10px;min-width:0}
.apl-strip__top{display:flex;align-items:center;gap:14px;margin:0 0 6px}
.apl-strip__ico{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:var(--r);border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:var(--sh-1)}
.apl-strip__arrow{position:relative;flex:1;height:1px;background:var(--line-3);margin-right:18px}
.apl-strip__arrow::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:1px solid var(--faint);border-right:1px solid var(--faint);transform:rotate(45deg)}
.apl-strip__when{display:flex;gap:10px;margin:0;font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.apl-strip__when b{font-weight:500;color:var(--blue)}
.apl .apl-strip__t{margin:0;font-family:var(--f-h);font-weight:500;font-size:var(--t-h3);color:var(--ink)}
.apl-strip__p{margin:0;font-size:var(--t-sm);line-height:1.6;color:var(--txt);max-width:34ch}
.apl-strip__more{margin:clamp(24px,3vw,40px) 0 0;padding-top:20px;border-top:1px solid var(--line)}
.apl-strip__more .tl{min-height:44px;color:var(--blue-d)}

/* ---------- main: stepper, document, side ------------------------------- */
.apl-main{padding-top:clamp(24px,3vw,40px)}
.apl-main__grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(24px,3.4vw,56px);align-items:start}
.apl-col{min-width:0}

.apl-steps{margin:0 0 clamp(20px,2.4vw,32px)}
.apl-steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative}
.apl-steps ol::before{content:"";position:absolute;left:12.5%;right:12.5%;top:27px;height:2px;background:var(--line-3)}
.apl-steps__i{position:relative;min-width:0}
.apl-steps__a{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;min-height:44px;padding:0 4px 4px;text-align:center;color:var(--muted);text-decoration:none}
.apl-steps__ico{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r);border:1px solid var(--line-3);background:var(--paper);color:var(--faint);transition:background var(--d2) var(--e),color var(--d2) var(--e),border-color var(--d2) var(--e),box-shadow var(--d2) var(--e)}
.apl-steps__l{font-size:var(--t-sm);font-weight:500;line-height:1.3}
.apl-steps__a:hover .apl-steps__ico{border-color:var(--ink);color:var(--ink)}
.apl-steps__a[aria-current="step"]{color:var(--ink)}
.apl-steps__a[aria-current="step"] .apl-steps__ico{background:var(--ink);border-color:var(--ink);color:var(--on-ink);box-shadow:0 0 0 6px var(--paper-3);--xt-accent:var(--blue)}
.apl-steps__i.is-done .apl-steps__ico{background:var(--blue);border-color:var(--blue);color:var(--on-ink);--xt-accent:currentColor}
.apl-steps__i.is-done .apl-steps__a{color:var(--ink)}
.apl-steps__fill{position:absolute;left:12.5%;top:27px;height:2px;width:75%;background:var(--blue);transform-origin:left center;transform:scaleX(var(--apl-p,0));transition:transform .5s var(--e);pointer-events:none}

.apl-doc{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--paper);box-shadow:var(--sh-1);overflow:hidden}
.apl-doc__head{padding:clamp(28px,3.4vw,48px) clamp(20px,3.4vw,52px) 22px;text-align:center;border-bottom:1px solid var(--line-2)}
.apl .apl-doc__t{margin:0;font-family:var(--f-h);font-weight:500;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.028em;line-height:1.1;color:var(--ink)}
.apl-doc__sub{margin:14px auto 0;font-size:var(--t-sm);line-height:1.6;color:var(--muted);max-width:60ch}
.apl-doc__foot{padding:18px clamp(20px,3.4vw,52px);background:var(--paper-2);border-top:1px solid var(--line-2)}
.apl-doc__foot p{margin:0;font-size:var(--t-xs);line-height:1.6;color:var(--muted)}
.apl-req{text-decoration:none;border:0;color:var(--blue-d);font-weight:600;cursor:help}

/* the error summary and the failure notice: an ink-headed panel that cannot be mistaken for a note */
.apl-sum,.apl-fail{margin:22px clamp(16px,3vw,44px) 0;border-radius:var(--r-lg)}
.apl-fail{padding:20px 22px}
.apl-sum{border:2px solid var(--ink);background:var(--paper);overflow:hidden}
.apl-sum[hidden]{display:none}
.apl-sum:focus-visible,.apl-fail:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.apl-sum__head{display:flex;gap:14px;align-items:flex-start;padding:16px 20px;background:var(--ink);color:var(--on-ink)}
.apl-sum__ico{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--on-ink-card);box-shadow:inset 0 0 0 1px var(--on-ink-line);color:var(--on-ink);--xt-accent:currentColor}
.apl .apl-sum__t{margin:0;font-family:var(--f-h);font-weight:500;font-size:var(--t-h3);line-height:1.3;color:var(--on-ink)}
.apl-sum__n{margin:4px 0 0;font-size:var(--t-sm);line-height:1.5;color:var(--on-ink-2)}
.apl-sum__n[hidden]{display:none}
.apl-sum__body{padding:6px 20px 14px}
.apl-sum__p{margin:10px 0 4px;font-size:var(--t-sm);font-weight:600;line-height:1.55;color:var(--ink)}
.apl-sum__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.apl-sum__list a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;border-bottom:1px solid var(--line-2);font-size:var(--t-sm);font-weight:500;color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-3)}
.apl-sum__list a .i{flex:none;font-family:var(--f);color:var(--ink);text-decoration:none}
.apl-sum__list a:hover{text-decoration-color:var(--ink)}
.apl-fail{border:1px solid var(--line-3);background:var(--paper-3)}
.apl-fail__t{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-family:var(--f-h);font-weight:500;font-size:var(--t-h3);color:var(--ink)}
.apl-fail__p{margin:0 0 12px;font-size:var(--t-sm);line-height:1.6;color:var(--txt)}
.apl-fail__go{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0}
.apl-fail__ref{font-family:var(--f);font-size:var(--t-xs);color:var(--muted)}

/* sections */
.apl-form{margin:0}
.apl-set{margin:0;padding:0;border:0;min-width:0;border-top:1px solid var(--line-2)}
.apl-set:first-of-type{border-top:0}
.apl-lg{display:flex;align-items:center;gap:16px;width:100%;padding:18px clamp(16px,3vw,44px);background:var(--paper-2);border-bottom:1px solid var(--line-2);float:left}
.apl-lg+*{clear:both}
.apl-lg__n{display:inline-flex;align-items:baseline;gap:4px;font-family:var(--f);min-width:52px}
.apl-lg__n b{font-weight:500;font-size:var(--t-body);color:var(--blue)}
.apl-lg__n i{font-style:normal;font-size:var(--t-lbl);color:var(--faint)}
.apl-lg__ico{display:grid;place-items:center;color:var(--ink)}
.apl .apl-lg__t{margin:0;font-family:var(--f-h);font-weight:500;font-size:var(--t-h3);color:var(--ink)}
.apl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;padding:26px clamp(16px,3vw,44px) 30px}
.apl-f{display:flex;flex-direction:column;gap:8px;min-width:0}
.apl-f--full{grid-column:1 / -1}
.apl-pair{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:12px;min-width:0}
.apl-l{font-size:var(--t-sm);font-weight:600;line-height:1.4;color:var(--ink)}
.apl-i{width:100%;min-height:50px;padding:0 14px;border:1px solid var(--line-3);border-radius:var(--r);background:var(--paper);font-family:var(--f-b);font-size:var(--t-body);color:var(--ink);transition:border-color var(--d1) var(--e-io),box-shadow var(--d1) var(--e-io)}
.apl-i::placeholder{color:var(--faint)}
.apl-i:hover{border-color:var(--faint)}
.apl-i:focus-visible{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-wash-2)}
.apl-ta{min-height:0;padding:12px 14px;line-height:1.6;resize:vertical}
.apl-selw{position:relative;display:block}
.apl-selw::after{content:"";position:absolute;right:16px;top:50%;width:7px;height:7px;margin-top:-5px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg);pointer-events:none}
.apl-sel{appearance:none;-webkit-appearance:none;padding-right:40px;text-overflow:ellipsis}
.apl-h{margin:0;font-size:var(--t-xs);line-height:1.55;color:var(--muted)}
.apl-h:empty{display:none}
.apl-c{margin:-2px 0 0;align-self:flex-end;font-family:var(--f);font-size:var(--t-lbl);color:var(--faint)}
.apl-c.is-near{color:var(--ink)}
.apl-e{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:var(--t-sm);font-weight:600;line-height:1.45;color:var(--ink)}
.apl-e .xt-ico{flex:none;margin-top:1px;color:var(--ink);--xt-accent:currentColor}
.apl-e[hidden]{display:none}
/* an answer that needs attention: a 2px ink ring (blue stays the focus colour) and a bar in the margin */
.apl-f.is-bad{position:relative}
.apl-f.is-bad::before{content:"";position:absolute;left:-11px;top:2px;bottom:2px;width:3px;border-radius:2px;background:var(--ink)}
.apl-f.is-bad .apl-i,.apl-f.is-bad .apl-drop{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.apl-f.is-bad .apl-i:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-wash-2)}
.apl-f.is-bad .apl-l{color:var(--ink)}

/* privacy statement */
.apl-set--privacy{padding-bottom:26px}
.apl-priv__lead{margin:0;padding:26px clamp(16px,3vw,44px) 6px;font-size:var(--t-lead);line-height:1.6;color:var(--ink);max-width:70ch}
.apl-code{list-style:none;margin:0;padding:10px clamp(16px,3vw,44px) 10px}
.apl-code__art{padding:18px 0;border-bottom:1px solid var(--line-2)}
.apl-code__art:last-child{border-bottom:0}
.apl .apl-code__h{display:flex;gap:18px;align-items:baseline;margin:0 0 10px;font-family:var(--f);font-weight:500;font-size:var(--t-lbl);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.apl-code__h span{min-width:26px;color:var(--muted);letter-spacing:0;font-size:var(--t-xs)}
.apl-code__c{display:grid;grid-template-columns:44px minmax(0,1fr);gap:0;margin:0 0 8px;font-size:var(--t-sm);line-height:1.7;color:var(--txt)}
.apl-code__c b{font-family:var(--f);font-weight:400;font-size:var(--t-xs);color:var(--faint);padding-top:2px}
.apl-set--privacy .apl-f{margin:6px clamp(16px,3vw,44px) 0}
.apl-consent{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;align-items:start;padding:18px 20px;border-radius:var(--r-lg);border:1px solid var(--line-3);background:var(--paper-2);font-size:var(--t-sm);font-weight:600;line-height:1.55;color:var(--ink);cursor:pointer}
.apl-consent input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--blue);cursor:pointer}
.apl-consent:hover{border-color:var(--ink)}
.apl-consent--soft{font-weight:500;background:var(--paper)}
.apl-consent em{font-style:normal;font-weight:400;color:var(--muted)}
.apl-f.is-bad .apl-consent{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}

/* radios */
.apl-radios{margin:0;padding:0;border:0;min-width:0}
.apl-radios legend{padding:0;margin-bottom:10px}
.apl-radios__row{display:flex;flex-wrap:wrap;gap:10px}
.apl-radio{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 18px 0 14px;border:1px solid var(--line-3);border-radius:var(--r-pill);font-size:var(--t-sm);color:var(--ink);cursor:pointer}
.apl-radio:hover{border-color:var(--ink)}
.apl-radio input{width:20px;height:20px;margin:0;accent-color:var(--blue)}
.apl-radio:has(input:checked){border-color:var(--blue);background:var(--blue-wash)}
.apl-radio:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}

/* the CV drop zone + file chip */
.apl-drop{position:relative;border:1.5px dashed var(--line-3);border-radius:var(--r-lg);background:var(--paper-2);transition:border-color var(--d1) var(--e-io),background var(--d1) var(--e-io)}
.apl-drop:hover,.apl-drop.is-over{border-color:var(--blue);background:var(--blue-wash)}
.apl-drop__in{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}
.apl-drop__in:focus-visible+.apl-drop__ui{outline:2px solid var(--blue);outline-offset:4px;border-radius:var(--r)}
.apl-drop__ui{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-areas:"ico t" "ico k";column-gap:16px;row-gap:2px;align-items:center;padding:22px 24px}
.apl-drop__ico{grid-area:ico;display:grid;place-items:center;width:52px;height:52px;border-radius:var(--r);background:var(--paper);color:var(--ink);box-shadow:var(--sh-1)}
.apl-drop__t{grid-area:t;font-size:var(--t-sm);color:var(--muted)}
.apl-drop__t b{display:block;font-family:var(--f-h);font-weight:500;font-size:var(--t-body);color:var(--ink)}
.apl-drop__k{grid-area:k;font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.apl-drop.has-file .apl-drop__ui{opacity:.55}
.apl-chip{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 6px 6px 14px;border-radius:var(--r);border:1px solid var(--ink);background:var(--paper)}
.apl-chip[hidden]{display:none}
.apl-chip__ico{display:grid;place-items:center;color:var(--blue)}
.apl-chip__n{min-width:0;font-size:var(--t-sm);font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.apl-chip__s{flex:none;font-family:var(--f);font-size:var(--t-xs);color:var(--muted)}
.apl-chip__x{margin-left:auto;flex:none;min-height:40px;padding:0 14px;border-radius:var(--r-sm);font-size:var(--t-xs);font-weight:500;color:var(--ink);background:var(--paper-3)}
.apl-chip__x:hover{background:var(--paper-4)}

/* the placeholder row for section 04 while on step 2 */
.apl-next4{display:flex;align-items:center;gap:16px;margin:0;padding:16px clamp(16px,3vw,44px);border-top:1px solid var(--line-2);background:var(--paper-2);font-size:var(--t-sm);color:var(--muted)}
.apl-next4[hidden]{display:none}

/* review */
.apl-review{padding:24px clamp(16px,3vw,44px) 8px}
.apl-review__nojs{margin:0;font-size:var(--t-sm);color:var(--txt)}
.apl-rv{border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:14px;overflow:hidden}
.apl-rv__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;background:var(--paper-2);border-bottom:1px solid var(--line-2)}
.apl .apl-rv__t{margin:0;font-family:var(--f-h);font-weight:500;font-size:var(--t-body);color:var(--ink)}
.apl-rv__edit{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--line-3);background:var(--paper);font-size:var(--t-xs);font-weight:500;color:var(--ink);cursor:pointer}
.apl-rv__edit:hover{border-color:var(--ink)}
.apl-rv__dl{margin:0;padding:6px 18px}
.apl-rv__dl div{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:14px;padding:10px 0;border-bottom:1px solid var(--line-2)}
.apl-rv__dl div:last-child{border-bottom:0}
.apl-rv__dl dt{font-size:var(--t-xs);line-height:1.5;color:var(--muted)}
.apl-rv__dl dd{margin:0;font-size:var(--t-sm);line-height:1.55;color:var(--ink);white-space:pre-line;overflow-wrap:anywhere}
.apl-rv__dl dd.is-empty{color:var(--faint)}
.apl-rv__dl dd.is-missing{color:var(--ink);font-weight:600}
.apl-set--review .apl-f{margin:6px clamp(16px,3vw,44px) 0}
.apl-decl{margin:14px clamp(16px,3vw,44px) 22px;font-size:var(--t-xs);line-height:1.6;color:var(--muted)}

/* the step bar */
.apl-nav{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:18px clamp(16px,3vw,44px);border-top:1px solid var(--line-2);background:var(--paper)}
.apl-nav [hidden]{display:none}
.apl-nav__back{margin-right:auto}
.apl-nav__arr{font-family:var(--f);color:var(--blue)}
.apl-nav__n{margin:0 auto;font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.apl-nav__send.is-busy{opacity:.6;pointer-events:none}

/* the stepped view (JS) */
.apl-form.is-steps [data-step]:not(.is-current){display:none}
.apl-form.is-steps .apl-set.is-current{border-top:0}
.apl-form.is-steps .apl-set.is-current~.apl-set.is-current{border-top:1px solid var(--line-2)}

.apl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* side: the photograph at the top scrolls away with the page; the cards under it (.apl-side__stick) stick beside the
   form. The column is as tall as the form, so the inner stack has room to stick */
.apl-side{display:flex;flex-direction:column;gap:16px;min-width:0;align-self:stretch}
.apl-side__stick{position:sticky;top:var(--bdh-sticky);display:flex;flex-direction:column;gap:16px;min-width:0}
/* who reads it: a photograph at the top of the column — and again under the reference once the application is sent */
.apl-reader{margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.apl-reader__ph{aspect-ratio:2/1}
.apl-reader__cap{margin:0;font-size:var(--t-xs);line-height:1.55;color:var(--muted)}
.apl-reader--done{margin-top:clamp(20px,2.4vw,32px)}
.apl-reader--done .apl-reader__ph{aspect-ratio:16/10}
/* a screen too short to hold the whole stack of cards while it sticks: the cards scroll with the page (measured: the
   stack is up to ~780px with a role and the "saved on this device" card, under a 120px sticky top) */
@media (min-width:1101px) and (max-height:940px){ .apl-side__stick{position:static} }
.apl-card{display:flex;flex-direction:column;gap:12px;padding:clamp(20px,2.2vw,28px);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--paper);box-shadow:var(--sh-1)}
.apl-card__k{margin:0;font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.apl-card__t{margin:0;font-family:var(--f-h);font-weight:500;font-size:var(--t-h3);line-height:1.25;color:var(--ink)}
.apl-card__facts{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:8px}
.apl-card__facts li{display:flex;gap:10px;align-items:flex-start;font-size:var(--t-sm);color:var(--ink)}
.apl-card__facts .xt-ico{flex:none;margin-top:1px;color:var(--muted)}
.apl-card__p{margin:0;font-size:var(--t-sm);line-height:1.6;color:var(--txt)}
.apl-card .tl{min-height:44px}
.apl-save{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border-radius:var(--r-lg);background:var(--blue-wash);border:1px solid var(--blue-line)}
.apl-save[hidden]{display:none}
.apl-save__t{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--f);font-size:var(--t-xs);color:var(--ink)}
.apl-save__p{margin:0;font-size:var(--t-xs);line-height:1.6;color:var(--txt)}
.apl-save__x{align-self:flex-start;min-height:44px;padding:0;font-size:var(--t-xs);font-weight:500;color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--blue-line);background:none;cursor:pointer}
.apl-alt{padding:18px 20px;border-radius:var(--r-lg);border:1px solid var(--line)}
.apl .apl-alt__h{margin:0 0 8px;font-family:var(--f);font-weight:500;font-size:var(--t-lbl);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.apl-alt p{margin:0 0 8px;font-size:var(--t-sm);line-height:1.6;color:var(--txt)}
.apl-alt p:last-of-type{margin-bottom:0}
.apl-alt a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-3);overflow-wrap:anywhere}

/* ---------- success ----------------------------------------------------- */
.apl-done__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,4vw,72px);align-items:start}
.apl-done__main{display:flex;flex-direction:column;gap:20px;min-width:0}
.apl-ticket{position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(26px,3.4vw,44px);border-radius:var(--r-xl);background:var(--ink);color:var(--on-ink-2);box-shadow:var(--sh-2);overflow:hidden}
.apl-ticket::before,.apl-ticket::after{content:"";position:absolute;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:var(--paper)}
.apl-ticket::before{left:-14px}
.apl-ticket::after{right:-14px}
.apl-ticket__k{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.14em;text-transform:uppercase;color:var(--on-ink)}
.apl-ticket__tick{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue);color:var(--on-ink);--xt-accent:currentColor}
.apl .apl-ticket__ref{margin:6px 0 0;font-family:var(--f);font-weight:500;font-size:clamp(1.5rem,3.6vw,2.6rem);letter-spacing:.02em;color:var(--on-ink);overflow-wrap:anywhere}
.apl .apl-ticket__ref--none{font-family:var(--f-h);letter-spacing:-.02em}
.apl-ticket__p{margin:0;font-size:var(--t-sm);line-height:1.6;color:var(--on-ink-2)}
.apl-ticket__copy{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--r-pill);background:var(--on-ink-card);box-shadow:inset 0 0 0 1px var(--on-ink-line);font-size:var(--t-xs);font-weight:500;color:var(--on-ink);cursor:pointer}
.apl-ticket__copy[hidden]{display:none}
.apl-ticket__copy .xt-ico{color:var(--on-ink);--xt-accent:currentColor}
.apl-ticket__dl{margin:10px 0 0;padding-top:16px;border-top:1px dashed var(--on-ink-line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.apl-ticket__dl dt{font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.12em;text-transform:uppercase;color:var(--on-ink-3)}
.apl-ticket__dl dd{margin:6px 0 0;font-size:var(--t-sm);line-height:1.45;color:var(--on-ink)}
.apl-ticket__dl dd span{font-family:var(--f);font-size:var(--t-xs);color:var(--on-ink-3)}
.apl-ticket__dup{display:flex;gap:8px;align-items:flex-start;margin:4px 0 0;font-size:var(--t-xs);line-height:1.55;color:var(--on-ink-2)}
.apl-ticket__dup .xt-ico{flex:none;color:var(--on-ink)}
.apl-done__go{display:flex;flex-wrap:wrap;gap:10px}
.apl-done__next{min-width:0}
.apl .apl-done__h{margin:0 0 22px;font-family:var(--f-h);font-weight:500;font-size:var(--t-h2);letter-spacing:-.028em;line-height:1.08;color:var(--ink)}
.apl-next{list-style:none;margin:0;padding:0}
.apl-next__i{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding-bottom:22px}
.apl-next__i::before{content:"";position:absolute;left:19px;top:40px;bottom:0;width:2px;background:var(--line-3)}
.apl-next__i:last-child::before{display:none}
.apl-next__n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-3);background:var(--paper);font-family:var(--f);font-size:var(--t-xs);color:var(--ink)}
.apl-next__i.is-done .apl-next__n{background:var(--blue);border-color:var(--blue);color:var(--on-ink);--xt-accent:currentColor}
.apl-next__w{margin:2px 0 2px;font-family:var(--f);font-size:var(--t-xs);color:var(--muted)}
.apl .apl-next__t{margin:0;font-family:var(--f-h);font-weight:500;font-size:var(--t-body);color:var(--ink)}
.apl-next__p{margin:4px 0 0;font-size:var(--t-sm);line-height:1.55;color:var(--txt)}
.apl-done__mail{margin:8px 0 0;font-size:var(--t-sm);line-height:1.6;color:var(--txt)}
.apl-done__mail a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-3)}

/* ---------- your data --------------------------------------------------- */
.apl-data__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,4vw,72px);align-items:start}
.apl-data__head{display:flex;flex-direction:column;gap:16px}
.apl-data__head .lbl,.apl-data__head .h2{margin:0}
.apl-data__head .tl{min-height:44px}
.apl-data__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--bdh-gap)}
.apl-data__list li{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line)}
.apl-data__ico{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-sm);background:var(--paper-3);color:var(--ink)}
.apl .apl-data__t{margin:4px 0 0;font-family:var(--f-h);font-weight:500;font-size:var(--t-body);color:var(--ink)}
.apl-data__p{margin:0;font-size:var(--t-sm);line-height:1.6;color:var(--txt)}

/* ---------- responsive -------------------------------------------------- */
@media (max-width:1100px){
  .apl-main__grid{grid-template-columns:minmax(0,1fr)}
  .apl-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .apl-side__stick{display:contents}
  .apl-side .apl-card,.apl-side>.apl-reader{grid-column:1 / -1}
  .apl-side .apl-reader__ph{aspect-ratio:21/9}
  .apl-done__grid,.apl-data__grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:1023px){
  .apl-hero__grid{grid-template-columns:minmax(0,1fr)}
  .apl-hero__img{aspect-ratio:16/9}
}
@media (max-width:760px){
  .apl-strip__list{grid-template-columns:minmax(0,1fr);gap:24px}
  .apl-strip__i{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:16px;row-gap:4px}
  .apl-strip__top{grid-row:1 / 4;margin:0}
  .apl-strip__arrow{display:none}
  .apl-strip__p{max-width:none}
  .apl-steps ol::before,.apl-steps__fill{top:21px}
  .apl-steps__ico{width:44px;height:44px;border-radius:var(--r-sm)}
  .apl-steps__l{font-size:var(--t-xs)}
  .apl-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .apl-sum__list{grid-template-columns:minmax(0,1fr)}
  .apl-side{grid-template-columns:minmax(0,1fr)}
  .apl-rv__dl div{grid-template-columns:minmax(0,1fr);gap:2px}
  .apl-ticket__dl{grid-template-columns:minmax(0,1fr)}
  .apl-data__list{grid-template-columns:minmax(0,1fr)}
  .apl-code__c{grid-template-columns:36px minmax(0,1fr)}
}
@media (max-width:600px){
  .apl-hero__img{aspect-ratio:4/3}
  .apl-hero__chips{position:static;margin-top:10px}
  .apl-pill{border-radius:var(--r-lg);padding:12px}
  .apl-steps__l{font-size:var(--t-lbl);letter-spacing:.02em}
  .apl-lg{gap:12px}
  .apl-lg__n{min-width:40px}
  .apl-nav{flex-wrap:wrap}
  .apl-nav__n{order:-1;width:100%;margin:0 0 4px;text-align:center}
  .apl-nav__next,.apl-nav__send{flex:1;justify-content:center}
  .apl-nav__back{margin-right:0}
  .apl-drop__ui{padding:18px 16px}
  .apl-pair{grid-template-columns:minmax(0,1fr)}
  .apl-done__go .btn{width:100%}
  .apl-ticket::before,.apl-ticket::after{display:none}
}
@media (prefers-reduced-motion:reduce){
  .apl-steps__ico,.apl-i,.apl-drop,.apl-steps__fill{transition:none}
}

/* anything the page or its script hides stays hidden, whatever display a component sets */
.apl [hidden]{display:none}
.apl--sent .apl-hero__chips{display:none}
.apl--sent .apl-hero__img{aspect-ratio:16/10}
.apl .apl-nw{white-space:nowrap}
