/* Templates for founders — layout on top of the kit (/assets/kit/kit.css). Tokens only, so html.light just works. */
.tp-hero .k-h1{max-width:18ch;margin:0 auto;text-wrap:balance;font-size:clamp(38px,5.4vw,76px)}
.tp-hero .k-lead{max-width:740px;margin:28px auto 0}
.tp-hero .k-lead b{color:var(--fg);font-weight:500}
.tp-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin-top:22px;font-size:14px;color:var(--fg-3)}
.tp-meta a{color:var(--fg-2);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}
.tp-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:32px}

/* gate */
.tp-gate{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:start}
.tp-gate h2{font-size:clamp(26px,2.6vw,34px);font-weight:500;letter-spacing:-.03em;line-height:1.1;margin-bottom:14px}
.tp-gate>div>p{color:var(--fg-2);font-size:17px;line-height:1.6}
.tp-files{list-style:none;display:grid;gap:10px;margin-top:20px}
.tp-files li{display:flex;gap:12px;align-items:center;color:var(--fg-2);font-size:15px}
.tp-files b{display:inline-grid;place-items:center;min-width:46px;height:26px;padding:0 8px;border-radius:7px;border:1px solid var(--line-2);font-size:11px;letter-spacing:.08em;color:var(--fg);font-weight:600}
.tp-form{display:grid;gap:14px}
.tp-form[hidden]{display:none}
.tp-form label{display:grid;gap:7px;font-size:14px;color:var(--fg-2)}
.tp-form input[type=email],.tp-form select{width:100%;min-height:48px;padding:0 16px;border-radius:12px;border:1px solid var(--line-2);background:var(--bg);color:var(--fg);font:400 16px var(--sans);appearance:none;-webkit-appearance:none}
.tp-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23888' stroke-width='1.6'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.tp-form input:focus,.tp-form select:focus{outline:none;border-color:var(--accent)}
.tp-form .k-btn{width:100%;margin-top:4px}
.tp-form .k-btn[disabled]{opacity:.6;cursor:progress;transform:none}
.tp-consent{font-size:13px;line-height:1.5;color:var(--fg-3)}
.tp-consent a{color:var(--fg-2);text-decoration:underline;text-underline-offset:2px}
.tp-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.tp-dl{display:grid;gap:12px;outline:none}
.tp-dl[hidden]{display:none}
.tp-dl p{color:var(--fg-2);font-size:15px}
.tp-dl .tp-ok{color:var(--fg);font-size:17px;font-weight:500}
.tp-dlb{display:flex;gap:10px;flex-wrap:wrap}
.tp-dlb .k-btn small{font-weight:400;opacity:.6;margin-left:4px}

/* body */
.tp-body{max-width:880px}
.tp-prose h2{scroll-margin-top:100px}
.tp-prose h2 + *{margin-top:.9em}
.tp-field{border:1px solid var(--line);border-radius:var(--r-s);background:var(--card);padding:20px 22px}
.tp-fl{color:var(--fg);font-weight:500;font-size:18px;letter-spacing:-.01em}
.tp-hint{margin-top:6px;font-size:16px;line-height:1.6;color:var(--fg-3)}
.tp-ex{margin-top:14px;padding:14px 16px;border-radius:10px;border-left:2px solid var(--accent);background:var(--bg-2);font-size:16px;line-height:1.6;color:var(--fg-2)}
.tp-ex span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);margin-bottom:6px}
.tp-prose .tp-check{list-style:none;padding:0;display:grid;gap:8px}
.tp-check li{margin:0!important}
.tp-check label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--card);cursor:pointer;transition:border-color .2s}
.tp-check label:hover{border-color:var(--line-2)}
.tp-check input{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin-top:3px;border:1.5px solid var(--line-2);border-radius:6px;display:grid;place-items:center;cursor:pointer;background:var(--bg)}
.tp-check input:checked{background:var(--accent);border-color:var(--accent)}
.tp-check input:checked::after{content:"";width:10px;height:6px;border:2px solid #fff;border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}
.tp-check input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tp-check b{color:var(--fg);font-weight:500}
.tp-check em{font-style:normal;display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;vertical-align:2px;color:#ff8a7a;border:1px solid rgba(255,120,100,.35)}
html.light .tp-check em{color:#c0392b;border-color:rgba(192,57,43,.35)}
.tp-check label:has(input:checked) b{text-decoration:line-through;text-decoration-color:var(--fg-3)}
.tp-check span span{display:block;margin-top:4px;font-size:16px;line-height:1.55;color:var(--fg-3)}
.tp-tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-s);-webkit-overflow-scrolling:touch}
.tp-prose .tp-tbl table{min-width:560px;font-size:15px}
.tp-tbl th,.tp-tbl td{vertical-align:top;padding:12px 14px!important}
.tp-tbl tr:last-child td{border-bottom:0}
.tp-tbl th{background:var(--card)}
.tp-crit,.tp-seg{border:1px solid var(--line);border-radius:var(--r-m);background:var(--card);padding:22px 24px}
.tp-crit h3,.tp-seg h3{margin:0!important;font-size:21px!important;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.tp-crit h3 small,.tp-seg h3 small{font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--fg-3);border:1px solid var(--line-2);border-radius:999px;padding:3px 10px}
.tp-crit dl,.tp-seg dl{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px 18px;margin-top:16px;font-size:16px;line-height:1.6}
.tp-crit dt,.tp-seg dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);padding-top:4px}
.tp-crit dd,.tp-seg dd{color:var(--fg-2)}
.tp-crit dd ul{padding-left:1.1em}
.tp-crit dt.r{color:#ff8a7a}html.light .tp-crit dt.r{color:#c0392b}
.tp-crit dt.g{color:#5fd39a}html.light .tp-crit dt.g{color:#1e8a55}
.tp-seg .tp-goal{margin-top:8px;color:var(--fg-3);font-size:16px}
.tp-seg dd.ex{color:var(--fg)}
.tp-note{font-size:17px}

/* bottom */
.tp-cta{display:flex;flex-direction:column;gap:18px;padding:28px 30px}
.tp-cta h2{font-size:clamp(26px,2.6vw,34px);font-weight:500;letter-spacing:-.03em;color:var(--fg)}
.tp-cta p{font-size:17px;line-height:1.6;color:var(--fg-2);max-width:760px}
.tp-cta div{display:flex;gap:10px;flex-wrap:wrap}
.tp-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tp-more a{display:flex;gap:16px;align-items:baseline;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--card);transition:border-color .2s}
.tp-more a:hover{border-color:var(--line-2)}
.tp-more span{font-size:13px;color:var(--fg-3)}
.tp-more b{font-weight:500;font-size:17px}

/* hub */
.tp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tp-card{display:flex;flex-direction:column;gap:14px;min-height:300px;transition:border-color .3s,transform .4s var(--ease)}
.tp-card:hover{border-color:var(--line-2);transform:translateY(-3px)}
.tp-card .tp-n{font-size:13px;color:var(--fg-3);letter-spacing:.1em}
.tp-card h3{margin:0!important;font-size:24px!important}
.tp-card p{font-size:16px!important}
.tp-card .tp-cm{margin-top:auto;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px;color:var(--fg-3);padding-top:14px;border-top:1px solid var(--line)}
.tp-card .tp-cm b{color:var(--fg);font-weight:500}

@media(max-width:1000px){.tp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.tp-gate{grid-template-columns:1fr}.tp-more{grid-template-columns:1fr}}
@media(max-width:640px){.tp-cards{grid-template-columns:1fr}.tp-card{min-height:0}.tp-crit dl,.tp-seg dl{grid-template-columns:1fr;gap:4px}.tp-crit dd+dt,.tp-seg dd+dt{margin-top:10px}.tp-field,.tp-crit,.tp-seg{padding:18px}}
@media(max-width:520px){.tp-cta .k-btn,.tp-actions .k-btn,.tp-dlb .k-btn{white-space:normal;text-align:center;line-height:1.3;padding:10px 18px}}
