/* Templates + Partners pages. Uses the site tokens from page.css / article.css (--ink --mut --line --mint --mintd --disp --ui --ease). */
.tp-chips{position:sticky;top:56px;z-index:30;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:inset 0 -1px 0 rgba(11,12,16,.07)}
.tp-chips .w{display:flex;gap:8px;overflow-x:auto;padding-top:12px;padding-bottom:12px;scrollbar-width:none;justify-content:center}
.tp-chips .w::-webkit-scrollbar{display:none}
.tp-chips a{flex:none;font:500 14px/1 var(--ui);color:#3a3c46;text-decoration:none;padding:10px 16px;border-radius:999px;background:#f4f5f9;box-shadow:inset 0 0 0 1px rgba(11,12,16,.06);transition:background .2s,color .2s,box-shadow .2s}
.tp-chips a:hover{background:#ebecf6;color:var(--ink)}
.tp-chips a.on{background:var(--ink,#0b0c10);color:#fff;box-shadow:none}
.tp{padding:30px 0 20px}
.tp-sec{padding:58px 0 8px;scroll-margin-top:118px}
.tp-sec:first-child{padding-top:42px}
.tp-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 24px}
.tp-hd h2{font:500 clamp(26px,3.2vw,36px)/1.1 var(--disp);letter-spacing:-.026em;color:var(--ink);margin:0}
.tp-hd p{font-size:16px;line-height:1.55;color:var(--mut);margin:8px 0 0;max-width:560px}
.tp-n{flex:none;font:500 13px var(--ui);color:var(--mut);padding-bottom:4px}
.tp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tp-card{all:unset;box-sizing:border-box;display:flex;flex-direction:column;cursor:pointer;border-radius:22px;overflow:hidden;background:#f7f8fa;box-shadow:inset 0 0 0 1px var(--line,#e8e9ee);transition:transform .35s var(--ease,cubic-bezier(.22,1,.36,1)),box-shadow .3s,background .3s}
.tp-card:hover{transform:translateY(-4px);background:#fff;box-shadow:inset 0 0 0 1px var(--line,#e8e9ee),0 18px 40px rgba(20,40,90,.12)}
.tp-card:focus-visible{outline:2px solid var(--mintd,#5646e0);outline-offset:3px}
.tp-card .im{display:block;aspect-ratio:16/10;background:#e8ebf1;overflow:hidden}
.tp-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease,cubic-bezier(.22,1,.36,1))}
.tp-card:hover img{transform:scale(1.035)}
.tp-card .tx{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:16px 20px 18px}
.tp-card b{font:500 17px/1.25 var(--disp);letter-spacing:-.018em;color:var(--ink)}
.tp-card em{font:400 14px/1.35 var(--ui);font-style:normal;color:var(--mut);text-align:right}
.tp-cta{margin:70px 0 0;padding:56px 28px;border-radius:30px;text-align:center;background:radial-gradient(60% 90% at 15% 0,rgba(167,155,255,.4),transparent 70%),radial-gradient(55% 90% at 90% 20%,rgba(141,182,245,.34),transparent 70%),#0b0c18;color:#fff}
.tp-cta h2{font:500 clamp(26px,3.4vw,40px)/1.1 var(--disp);letter-spacing:-.028em;margin:0 auto;max-width:640px;color:#fff}
.tp-cta p{font-size:17px;line-height:1.55;color:rgba(255,255,255,.74);margin:14px auto 26px;max-width:520px}
.tp-cta .btn{background:#fff;color:#0b0c10}
.tp-cta .btn:hover{background:#efecff}
.tp-end{height:72px}
dialog.tp-dlg{border:0;padding:0;background:transparent;max-width:min(1100px,94vw);width:100%;overflow:visible;color:#fff}
dialog.tp-dlg::backdrop{background:rgba(5,6,15,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
dialog.tp-dlg[open]{animation:tpIn .28s var(--ease,cubic-bezier(.22,1,.36,1))}
@keyframes tpIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.tp-dlg figure{margin:0;border-radius:20px;overflow:hidden;background:#0b0c18;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.tp-dlg img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.tp-dlg .bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;flex-wrap:wrap}
.tp-dlg .bar b{font:500 18px var(--disp);letter-spacing:-.02em}
.tp-dlg .bar span{display:block;font-size:14px;color:rgba(255,255,255,.62);margin-top:3px}
.tp-dlg .bar .btn{background:#fff;color:#0b0c10}
.tp-x{position:absolute;top:-46px;right:0;width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.14);color:#fff;font-size:20px;line-height:1;display:grid;place-items:center}
.tp-x:hover{background:rgba(255,255,255,.26)}
@media(max-width:980px){.tp-chips{top:54px}.tp-chips .w{justify-content:flex-start}.tp-sec{scroll-margin-top:112px}.tp-grid{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:600px){.tp-grid{grid-template-columns:1fr}.tp-hd{flex-direction:column;align-items:flex-start;gap:4px}.tp-n{display:none}.tp-card .tx{flex-direction:column;gap:2px}.tp-card em{text-align:left}.tp-cta{padding:44px 20px;border-radius:24px}.tp-x{top:-44px}}
/* partners */
.pn{padding:26px 0 0}
.pn-soon{display:inline-flex;align-items:center;gap:8px;font:500 12px var(--ui);letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;border-radius:99px;background:rgba(255,255,255,.8);box-shadow:inset 0 0 0 1px rgba(11,12,16,.08);color:var(--ink);margin:0 0 20px}
.pn-soon i{width:7px;height:7px;border-radius:50%;background:var(--mint,#a79bff);box-shadow:0 0 0 4px rgba(167,155,255,.3);animation:pnp 2.4s ease-in-out infinite}
@keyframes pnp{50%{box-shadow:0 0 0 7px rgba(167,155,255,.12)}}
.pn-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px 0 0}
.pn-tile{padding:26px 24px 28px;border-radius:22px;background:#f7f8fa;box-shadow:inset 0 0 0 1px var(--line,#e8e9ee)}
.pn-tile svg{width:30px;height:30px;color:var(--mintd,#5646e0);margin:0 0 18px;display:block}
.pn-tile h3{font:500 20px/1.25 var(--disp);letter-spacing:-.02em;color:var(--ink);margin:0 0 8px}
.pn-tile p{font-size:15px;line-height:1.6;color:var(--mut);margin:0}
.pn-box{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:start;margin:64px 0 0;padding:44px;border-radius:30px;background:#fff;box-shadow:inset 0 0 0 1px var(--line,#e8e9ee),0 24px 60px rgba(20,40,90,.07)}
.pn-box h2{font:500 clamp(26px,3vw,36px)/1.1 var(--disp);letter-spacing:-.026em;color:var(--ink);margin:0}
.pn-box>div>p{font-size:16.5px;line-height:1.6;color:var(--mut);margin:14px 0 0}
.pn-box ul{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.pn-box li{position:relative;padding-left:26px;font-size:15px;line-height:1.5;color:#3a3c46}
.pn-box li:before{content:"";position:absolute;left:0;top:6px;width:14px;height:14px;border-radius:50%;background:var(--mint,#a79bff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M4 7.2l2 2L10 5' fill='none' stroke='%230b0c10' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.pn-f{display:grid;gap:14px}
.pn-f label{display:grid;gap:7px;font:500 13.5px var(--ui);color:#2a2c36}
.pn-f label small{font-weight:400;color:var(--mut)}
.pn-f input,.pn-f select,.pn-f textarea{font:400 16px/1.3 var(--ui);color:var(--ink);width:100%;box-sizing:border-box;padding:13px 14px;border-radius:12px;border:0;background:#f4f5f9;box-shadow:inset 0 0 0 1px rgba(11,12,16,.09);transition:box-shadow .2s,background .2s;-webkit-appearance:none;appearance:none}
.pn-f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 3.5L5 7l3.5-3.5' fill='none' stroke='%236c6a66' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:11px;padding-right:38px}
.pn-f textarea{min-height:96px;resize:vertical}
.pn-f input:focus,.pn-f select:focus,.pn-f textarea:focus{outline:0;background:#fff;box-shadow:inset 0 0 0 1.5px var(--mintd,#5646e0),0 0 0 4px rgba(167,155,255,.22)}
.pn-r{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pn-f .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.pn-f .btn{justify-self:start;margin-top:4px}
.pn-f .btn[disabled]{opacity:.6;cursor:progress}
.pn-fine{font-size:13px;line-height:1.5;color:var(--mut);margin:2px 0 0}
.pn-err{font-size:14px;color:#b3261e;min-height:0;margin:0}
.pn-ok{display:none;padding:28px;border-radius:20px;background:#f1f0ff;box-shadow:inset 0 0 0 1px rgba(86,70,224,.18)}
.pn-ok b{display:block;font:500 22px var(--disp);letter-spacing:-.02em;color:var(--ink);margin:0 0 6px}
.pn-ok p{margin:0;font-size:15.5px;line-height:1.55;color:#3a3c46}
.pn-box.done .pn-f{display:none}.pn-box.done .pn-ok{display:block}
@media(max-width:900px){.pn-tiles{grid-template-columns:1fr}.pn-box{grid-template-columns:1fr;padding:30px 22px;gap:28px;border-radius:24px}.pn-r{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.tp-card,.tp-card img{transition:none}dialog.tp-dlg[open]{animation:none}.pn-soon i{animation:none}}
