/* Public inbound forms (founder "Build with us" + "Partner with us"). Direction B tokens from index.html. */
.ib{background:var(--white);color:var(--ink);border-top:8px solid var(--ink);padding:clamp(22px,3vw,36px);position:relative}
.ib[aria-busy="true"]{cursor:progress}
.ib-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.ib-top .caps{color:var(--ink-2);font-stretch:100%}
.ib-bar{height:4px;background:var(--site-2);margin-bottom:24px}
.ib-bar i{display:block;height:100%;width:25%;background:var(--blue);transition:width .4s var(--ease)}
.ib-step[hidden]{display:none}
.ib-step h3{font-size:var(--t-l);font-weight:800;font-stretch:80%;line-height:1;text-transform:uppercase;margin-bottom:6px}
.ib-step > p.lede{color:var(--ink-2);font-size:var(--t-s);margin-bottom:20px}
.ib-f{display:block;margin-bottom:16px}
.ib-f > span{display:block;font-size:var(--t-s);font-weight:700;margin-bottom:6px}
.ib-f > span em{font-style:normal;font-weight:400;color:var(--ink-2)}
.ib-f small{display:block;font-size:13px;color:var(--ink-2);margin-top:5px}
.ib input[type=text],.ib input[type=email],.ib input[type=url],.ib input[type=tel],.ib select,.ib textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid #8E99AD;border-radius:0;padding:12px 14px;min-height:48px;transition:border-color .15s}
.ib textarea{min-height:104px;resize:vertical;line-height:1.45}
.ib input:hover,.ib select:hover,.ib textarea:hover{border-color:var(--ink-2)}
.ib input:focus,.ib select:focus,.ib textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,58,164,.22)}
.ib [aria-invalid="true"]{border-color:#B42318 !important}
.ib-err{color:#B42318;font-size:13px;font-weight:600;margin-top:6px}
.ib-err:empty{display:none}
.ib-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media (max-width:560px){.ib-row{grid-template-columns:1fr}}
/* chips: checkbox / radio pills, square */
.ib-chips{display:flex;flex-wrap:wrap;gap:8px;border:0;margin-bottom:16px}
.ib-chips legend{font-size:var(--t-s);font-weight:700;margin-bottom:8px;padding:0;width:100%}
.ib-chips legend em{font-style:normal;font-weight:400;color:var(--ink-2)}
.ib-chips label{position:relative}
.ib-chips input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.ib-chips span{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1.5px solid #8E99AD;font-size:15px;background:#fff;transition:background .15s,border-color .15s,color .15s}
.ib-chips input:hover + span{border-color:var(--ink)}
.ib-chips input:checked + span{background:var(--blue);border-color:var(--blue);color:#fff}
.ib-chips input:focus-visible + span{outline:3px solid var(--act);outline-offset:2px}
/* two big path cards */
.ib-paths{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;margin-bottom:8px}
.ib-paths legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:560px){.ib-paths{grid-template-columns:1fr}}
.ib-paths label{position:relative;display:block}
.ib-paths input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.ib-paths .card{display:block;border:1.5px solid #8E99AD;padding:18px;min-height:120px;background:#fff;transition:border-color .15s,background .15s}
.ib-paths .card b{display:block;font-size:var(--t-m);font-weight:800;margin-bottom:6px}
.ib-paths .card small{color:var(--ink-2);font-size:var(--t-s)}
.ib-paths input:hover + .card{border-color:var(--ink)}
.ib-paths input:checked + .card{border:3px solid var(--blue);padding:16.5px;background:#EEF2FB}
.ib-paths input:focus-visible + .card{outline:3px solid var(--act);outline-offset:2px}
.ib-nav{display:flex;gap:10px;align-items:center;margin-top:22px;flex-wrap:wrap}
.ib-nav .btn{margin:0}
.ib .btn:hover{background:var(--ink);color:#fff}
.ib .btn[disabled]{opacity:.6;cursor:progress}
.ib-back{background:none;border:0;font:inherit;font-size:var(--t-s);font-weight:700;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px;padding:0 6px}
.ib-back:hover{color:var(--ink)}
.ib-note{font-size:13px;color:var(--ink-2);margin-left:auto}
.ib-formerr{background:#FDECEA;color:#7A1A12;border-left:4px solid #B42318;padding:10px 12px;font-size:var(--t-s);margin-top:16px}
.ib-formerr:empty{display:none}
.ib-hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ib-done{text-align:left}
.ib-done[hidden]{display:none}
.ib-done .tick{width:56px;height:56px;background:var(--blue);color:#fff;display:grid;place-items:center;margin-bottom:18px}
.ib-done .tick svg{width:30px;height:30px}
.ib-done h3{font-size:var(--t-l);font-weight:800;font-stretch:80%;line-height:1;text-transform:uppercase;margin-bottom:10px}
.ib-done p{color:var(--ink-2);font-size:var(--t-s);margin:0 0 8px}
.ib-done .ib-back{padding-left:0}
.close .ib p{max-width:none;margin-top:0}
.close .ib .lede{margin-bottom:20px}
.close .wrap.has-form{align-items:start}
@media (prefers-reduced-motion:no-preference){.ib-step:not([hidden]),.ib-done:not([hidden]){animation:ibIn .35s var(--ease)}}
@keyframes ibIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* partner section */
.partner{padding:clamp(72px,9vw,128px) 0;border-top:1px solid var(--seam)}
.partner .wrap{display:grid;grid-template-columns:5fr 7fr;gap:clamp(28px,5vw,80px);align-items:start}
.partner h2{font-size:var(--t-xl);font-weight:800;font-stretch:72%;line-height:.92;text-transform:uppercase}
.partner .copy p{color:var(--ink-2);margin-top:20px;max-width:42ch}
.partner .copy ul{list-style:none;margin-top:28px;border-top:1px solid var(--seam)}
.partner .copy li{padding:14px 0;border-bottom:1px solid var(--seam);font-size:var(--t-s)}
.partner .copy li b{display:block;font-size:var(--t-m)}
.partner .ib{border-top-color:var(--blue)}
@media (max-width:900px){.partner .wrap{grid-template-columns:1fr}}
.ib [hidden]{display:none !important}
/* modal dialogs for the forms */
.dlg{border:0;padding:0;margin:auto;width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 48px);background:var(--white);color:var(--ink);border-top:8px solid var(--blue);box-shadow:0 30px 80px rgba(10,18,33,.45);overflow:hidden}
.dlg::backdrop{background:rgba(10,18,33,.72)}
.dlg[open]{display:flex;flex-direction:column}
.dlg-in{overflow-y:auto;overscroll-behavior:contain;max-height:calc(100dvh - 56px)}
.dlg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:clamp(22px,3vw,32px) clamp(22px,3vw,36px) 0}
.dlg-head h2{font-size:var(--t-l);font-weight:800;font-stretch:80%;line-height:1;text-transform:uppercase}
.dlg-head p{color:var(--ink-2);font-size:var(--t-s);margin-top:8px;max-width:48ch}
.dlg-x{flex:none;width:44px;height:44px;display:grid;place-items:center;background:none;border:1.5px solid #8E99AD;color:var(--ink);cursor:pointer;transition:background .15s,border-color .15s}
.dlg-x:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.dlg-x svg{width:18px;height:18px}
.dlg .ib{border-top:0;padding-top:20px}
.dlg-ways{margin:16px clamp(22px,3vw,36px) 0;font-size:var(--t-s);border:1px solid var(--seam)}
.dlg-ways summary{cursor:pointer;font-weight:700;padding:10px 14px;min-height:44px;display:flex;align-items:center}
.dlg-ways ul{list-style:none;padding:0 14px 6px}
.dlg-ways li{padding:8px 0;border-top:1px solid var(--seam);color:var(--ink-2)}
.dlg-ways li b{display:block;color:var(--ink)}
html.dlg-lock{overflow:hidden}
@media (prefers-reduced-motion:no-preference){.dlg[open]{animation:dlgIn .3s var(--ease)}.dlg[open]::backdrop{animation:dlgFade .3s}}
@keyframes dlgIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes dlgFade{from{opacity:0}to{opacity:1}}
@media (max-width:640px){
  .dlg{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-top-width:6px}
  .dlg-in{max-height:none;height:100%;padding-bottom:env(safe-area-inset-bottom)}
  .dlg-head{position:sticky;top:0;background:var(--white);z-index:2;padding:16px 20px 12px;border-bottom:1px solid var(--seam)}
  .dlg-head p{display:none}
  @media (prefers-reduced-motion:no-preference){@keyframes dlgIn{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}}
}
