/* Shared by every TractLabs concept page. Pages set the --ap-* variables to style the apply form. */
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[data-mark]{display:inline-block;line-height:0}
[data-mark] svg{width:100%;height:auto;display:block;overflow:visible}
.motion [data-reveal]{transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.motion [data-reveal]:not(.in){opacity:0;transform:translateY(22px)}
.motion [data-reveal][data-d="1"]{transition-delay:.08s}
.motion [data-reveal][data-d="2"]{transition-delay:.16s}
.motion [data-reveal][data-d="3"]{transition-delay:.24s}

dialog.ap{--_bg:var(--ap-bg,#111214);--_fg:var(--ap-fg,#F3F3F1);--_mute:var(--ap-mute,#9A9CA2);--_line:var(--ap-line,rgba(255,255,255,.14));--_field:var(--ap-field,rgba(255,255,255,.04));--_btn:var(--ap-btn,#FFFFFF);--_btnfg:var(--ap-btnfg,#0B0B0C);
  width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--_line);border-radius:var(--ap-r,18px);background:var(--_bg);color:var(--_fg);font-family:var(--ap-font,system-ui,sans-serif);box-shadow:0 40px 120px -20px rgba(0,0,0,.55)}
dialog.ap::backdrop{background:var(--ap-backdrop,rgba(0,0,0,.6));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
dialog.ap[open]{animation:ap-in .45s cubic-bezier(.2,.7,.2,1)}
@keyframes ap-in{from{opacity:0;transform:translateY(16px)}}
.ap-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 26px 18px;background:var(--_bg);border-bottom:1px solid var(--_line)}
.ap-eyebrow{margin:0 0 10px;font:500 11px/1 var(--ap-mono,ui-monospace,Menlo,monospace);letter-spacing:.16em;text-transform:uppercase;color:var(--_mute)}
.ap h2{margin:0;font-family:var(--ap-display,inherit);font-size:clamp(1.5rem,3.2vw,2.1rem);line-height:1.05;letter-spacing:var(--ap-track,-.03em);font-weight:var(--ap-dw,700);text-transform:var(--ap-case,none)}
.ap-sub{margin:10px 0 0;color:var(--_mute);font-size:15px;line-height:1.5;max-width:46ch}
.ap-x{all:unset;box-sizing:border-box;cursor:pointer;flex:none;width:40px;height:40px;border-radius:var(--ap-br,999px);border:1px solid var(--_line);display:grid;place-items:center;color:var(--_fg)}
.ap-x:hover{background:var(--_field)}
.ap-x:focus-visible,.ap-ghost:focus-visible{outline:2px solid var(--_fg);outline-offset:2px}
.ap-form{padding:20px 26px 26px;display:grid;gap:20px}
.ap-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ap-f{display:grid;gap:7px;min-width:0;border:0;margin:0;padding:0}
.ap-f>label,.ap-f>legend{font:500 11.5px/1.3 var(--ap-mono,ui-monospace,Menlo,monospace);letter-spacing:.08em;text-transform:uppercase;color:var(--_mute);padding:0;margin-bottom:4px}
.ap-opt{text-transform:none;letter-spacing:0;opacity:.75}
.ap input:not([type=checkbox]):not([type=radio]),.ap select,.ap textarea{width:100%;box-sizing:border-box;font:400 15px/1.4 var(--ap-font,system-ui,sans-serif);color:var(--_fg);background:var(--_field);border:1px solid var(--_line);border-radius:var(--ap-fr,10px);padding:12px 13px;appearance:none;-webkit-appearance:none;transition:border-color .2s,box-shadow .2s}
.ap select{background-image:linear-gradient(45deg,transparent 50%,var(--_mute) 50%),linear-gradient(135deg,var(--_mute) 50%,transparent 50%);background-position:calc(100% - 19px) 55%,calc(100% - 14px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.ap select option{background:var(--_bg);color:var(--_fg)}
.ap textarea{min-height:110px;resize:vertical}
.ap input::placeholder,.ap textarea::placeholder{color:var(--_mute);opacity:.75}
.ap input:hover,.ap select:hover,.ap textarea:hover{border-color:var(--_mute)}
.ap input:focus,.ap select:focus,.ap textarea:focus{outline:none;border-color:var(--_fg);box-shadow:0 0 0 3px var(--_field)}
.ap-bad input,.ap-bad textarea{border-color:var(--ap-err,#D9534F)!important}
.ap-err{margin:0;font-size:13px;line-height:1.4;color:var(--ap-err,#E5736F)}
.ap-err:empty{display:none}
.ap-chips{display:flex;flex-wrap:wrap;gap:8px}
.ap-chips label{position:relative;cursor:pointer}
.ap-chips input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.ap-chips span{display:block;padding:9px 13px;border:1px solid var(--_line);border-radius:var(--ap-cr,999px);font-size:14px;transition:background .2s,color .2s,border-color .2s}
.ap-chips label:hover span{border-color:var(--_mute)}
.ap-chips input:checked+span{background:var(--_btn);color:var(--_btnfg);border-color:var(--_btn)}
.ap-chips input:focus-visible+span{outline:2px solid var(--_fg);outline-offset:2px}
.ap-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:16px;border-top:1px solid var(--_line)}
.ap-foot small{font-size:12.5px;color:var(--_mute);max-width:36ch}
.ap-send,.ap-ghost{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:var(--ap-br,999px);font:600 15px/1 var(--ap-font,system-ui,sans-serif)}
.ap-send{background:var(--_btn);color:var(--_btnfg)}
.ap-send:focus-visible{outline:2px solid var(--_fg);outline-offset:3px}
.ap-send[aria-busy=true]{opacity:.7;cursor:progress}
.ap-ghost{border:1px solid var(--_line);color:var(--_fg)}
.ap-ghost:hover{background:var(--_field)}
.ap-spin{display:none;width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:ap-rot .8s linear infinite}
.ap-send[aria-busy=true] .ap-spin{display:inline-block}
@keyframes ap-rot{to{transform:rotate(360deg)}}
.ap-done{padding:28px 26px;display:grid;gap:16px;justify-items:start}
.ap-ok{width:56px;height:56px;border-radius:var(--ap-br,999px);border:1px solid var(--_line);display:grid;place-items:center}
.ap-done h3{margin:0;font-family:var(--ap-display,inherit);font-size:clamp(1.6rem,3.4vw,2.2rem);letter-spacing:var(--ap-track,-.03em);font-weight:var(--ap-dw,700);text-transform:var(--ap-case,none)}
.ap-done p{margin:0;color:var(--_mute);max-width:50ch;line-height:1.5}
.ap-next{margin:0;padding-left:20px;display:grid;gap:8px;line-height:1.4}
.ap-note{font:500 12px/1.5 var(--ap-mono,ui-monospace,Menlo,monospace)!important;border:1px dashed var(--_line);border-radius:8px;padding:10px 12px}
@media (max-width:640px){.ap-grid{grid-template-columns:1fr}.ap-head{padding:20px 18px 14px}.ap-form{padding:16px 18px 20px}.ap-done{padding:22px 18px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
