/* Application form that opens over the job pages and the careers page. */
.ap-open{overflow:hidden}
/* One layer above the cookie banner, which would otherwise hide the Submit button */
.ap-overlay{position:fixed;inset:0;z-index:2147483001;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(10,24,48,.58);backdrop-filter:blur(3px)}
.ap-overlay.show{display:flex}
.ap-dialog{position:relative;width:100%;max-width:560px;max-height:calc(100dvh - 48px);overflow-y:auto;background:#f6f4ef;border-radius:22px;padding:36px 38px 34px;color:#15191d;font-family:'Inter Tight',system-ui,sans-serif;font-size:16px;line-height:1.5;box-shadow:0 30px 80px -24px rgba(10,24,48,.55);text-align:left}
.ap-close{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(21,25,29,.12);background:transparent;color:#535d67;font-size:21px;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.ap-close:hover{background:#efece3;color:#15191d}
.ap-eyebrow{display:flex;align-items:center;gap:11px;font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#018477;margin-bottom:12px}
.ap-eyebrow::before{content:"";width:26px;height:1px;background:#018477}
.ap-title{font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:29px;font-weight:800;line-height:1.1;letter-spacing:-0.028em;padding-right:36px;margin:0}
.ap-meta{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;font-size:11.5px;letter-spacing:.03em;text-transform:uppercase;color:#535d67;margin-top:10px}
.ap-form{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}
.ap-field{display:flex;flex-direction:column;min-width:0}
.ap-field.full{grid-column:1 / -1}
.ap-label{font-size:13.5px;font-weight:600;color:#15191d;margin-bottom:6px}
.ap-label .opt{font-weight:400;color:#909aa4}
.ap-input{width:100%;font:inherit;font-size:16px;color:#15191d;background:#fff;border:1px solid rgba(21,25,29,.16);border-radius:11px;padding:11px 14px;outline:none;transition:border-color .2s,box-shadow .2s}
.ap-input:focus{border-color:#018477;box-shadow:0 0 0 3px rgba(1,132,119,.14)}
.ap-drop{display:flex;align-items:center;gap:14px;background:#efece3;border:1px dashed rgba(21,25,29,.26);border-radius:12px;padding:16px 18px;cursor:pointer;transition:border-color .2s,background .2s}
.ap-drop:hover,.ap-drop.drag,.ap-file:focus-visible + .ap-drop{border-color:#018477;background:#e9efe9}
.ap-drop svg{flex:0 0 auto;width:24px;height:24px;color:#018477}
.ap-drop-main{display:block;font-size:14.5px;font-weight:600;color:#15191d;overflow-wrap:anywhere}
.ap-drop-sub{display:block;font-size:12.5px;color:#535d67;margin-top:1px}
.ap-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.ap-consent{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.45;color:#535d67;cursor:pointer}
.ap-consent input{flex:0 0 auto;width:17px;height:17px;margin:2px 0 0;accent-color:#018477}
.ap-consent a{color:#018477}
.ap-error{display:none;font-size:12.5px;color:#c2452a;margin-top:5px}
.ap-field.bad .ap-error{display:block}
.ap-field.bad .ap-input,.ap-field.bad .ap-drop{border-color:#c2452a}
.ap-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:14px 28px;border:none;border-radius:100px;font:inherit;font-size:15px;font-weight:600;color:#fff;cursor:pointer;background:linear-gradient(118deg,#018477 8%,#10a892 92%);transition:box-shadow .25s,background .2s}
.ap-submit:hover{background:linear-gradient(118deg,#006a60,#0a9683);box-shadow:0 16px 34px -12px rgba(1,132,119,.6)}
.ap-submit:disabled{opacity:.65;cursor:default;box-shadow:none}
.ap-send-error{display:none;grid-column:1 / -1;background:#fbeee9;border-radius:10px;padding:11px 14px;font-size:13.5px;color:#a63a22}
.ap-send-error.show{display:block}
.ap-send-error a{color:inherit}
.ap-done{text-align:center;padding:18px 4px 6px}
.ap-done svg{width:50px;height:50px;color:#018477;margin-bottom:16px}
.ap-done .ap-title{padding:0;font-size:26px}
.ap-done p{color:#535d67;margin:12px auto 24px;max-width:27em}
.ap-preview{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;font-size:11px;color:#c2452a;margin-top:14px}
@media(max-width:560px){
  .ap-overlay{padding:0;align-items:flex-end}
  .ap-dialog{max-height:94dvh;border-radius:22px 22px 0 0;padding:30px 20px 26px}
  .ap-form{grid-template-columns:1fr}
  .ap-title{font-size:25px}
}
