/* AUTO-GENERATED by scripts/generate-catalog-pages.mjs — shared catalog page styles */

*{box-sizing:border-box}
body{margin:0;background:#0E0E12;color:#FDFDFF;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.65}
.wrap{max-width:820px;margin:0 auto;padding:0 20px}
a{color:#A78BFA}
.serif{font-family:Georgia,"Times New Roman",serif}
header.site{border-bottom:1px solid rgba(255,255,255,.1)}
header.site .bar{max-width:1080px;margin:0 auto;padding:0 20px;height:64px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#FDFDFF}
.brand img{width:36px;height:36px;border-radius:10px;object-fit:cover;outline:1px solid rgba(167,139,250,.3)}
.brand span{font-family:Georgia,serif;font-size:18px}
.nav{display:flex;gap:20px;font-size:14px}
.nav a{color:rgba(253,253,255,.6);text-decoration:none}
.nav a:hover{color:#FDFDFF}
.crumbs{max-width:820px;margin:0 auto;padding:20px 20px 0;font-size:12px;color:rgba(253,253,255,.45)}
.crumbs a{color:rgba(253,253,255,.55);text-decoration:none}
.crumbs a:hover{color:#FDFDFF}
.eyebrow{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:rgba(253,253,255,.55);margin:0 0 14px}
h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(30px,5vw,44px);line-height:1.15;margin:0 0 18px}
h2{font-family:Georgia,serif;font-weight:400;font-size:26px;margin:44px 0 12px}
h3{font-weight:600;font-size:17px;margin:26px 0 8px}
p{margin:0 0 16px;color:rgba(253,253,255,.82)}
.lede{font-size:19px;color:#FDFDFF}
ul{padding-left:22px;margin:0 0 16px;color:rgba(253,253,255,.82)}
li{margin-bottom:8px}
.hero{display:flex;gap:22px;align-items:flex-start;margin:26px 0 8px}
.hero img{width:132px;height:132px;border-radius:16px;object-fit:cover;outline:1px solid rgba(167,139,250,.3);flex-shrink:0}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px}
.badge{font-family:ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:999px;border:1px solid rgba(167,139,250,.35);color:rgba(253,253,255,.75);background:rgba(167,139,250,.07)}
.tier{margin:0 0 14px}
.tier .t{font-family:ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(253,253,255,.5);margin-bottom:4px}
.tier .n{font-size:15px;color:#FDFDFF}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:20px 0}
.card{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:14px 16px;background:rgba(255,255,255,.02)}
.card a{text-decoration:none;color:#FDFDFF;font-size:15px}
.card a:hover{color:#A78BFA}
.card p{margin:6px 0 0;font-size:13px;color:rgba(253,253,255,.55)}
.stack{border:1px solid rgba(255,255,255,.12);border-left:3px solid rgba(167,139,250,.5);border-radius:12px;padding:14px 18px;margin:0 0 12px;background:rgba(255,255,255,.02)}
.stack .name{font-family:Georgia,serif;font-size:18px;color:#FDFDFF}
.stack .meta{font-size:12px;color:rgba(253,253,255,.5);margin:4px 0 8px}
.stack .why{font-size:14px;color:rgba(253,253,255,.75);margin:0}
.card.partner{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.card.partner .pcard-img{border-radius:8px;flex:0 0 auto}
.card.partner .plink{flex:1 1 60%;font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:5px;flex-basis:100%}
.chip{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid rgba(167,139,250,.35);color:rgba(209,199,255,.9);background:rgba(167,139,250,.08)}
.badge.hot{border-color:rgba(167,139,250,.6);color:#D1B7FF;background:rgba(167,139,250,.12)}
.tiles{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 2px}
.tile{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:rgba(253,253,255,.7)}
.tile img{border-radius:6px}
.tile i{font-style:normal;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile-plus{color:rgba(253,253,255,.4);font-size:12px}
.tile-fallback{display:inline-block;width:28px;height:28px;border-radius:6px;background:rgba(167,139,250,.15)}
.cta .alt a{display:inline;padding:0;background:none;color:#A78BFA;text-decoration:underline;font-weight:500;font-size:13px}
ol.partners{list-style:none;padding:0;counter-reset:pair}
ol.partners>li::before{counter-increment:pair;content:counter(pair);width:22px;height:22px;border-radius:50%;background:rgba(167,139,250,.18);color:#C4B5FD;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
ol.partners>li .chips,ol.partners>li .facts,ol.partners>li .why,ol.partners>li>p{flex:1 1 100%}
ol.partners>li>p{margin:0;font-size:13px;color:rgba(253,253,255,.55)}
.facts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0 2px;font-size:13px;color:rgba(253,253,255,.72)}
.facts b{color:rgba(253,253,255,.55);font-weight:600}
.card .why{margin:8px 0 6px;font-size:14px;color:rgba(253,253,255,.78);line-height:1.5}
.lede.answer{border-left:2px solid rgba(167,139,250,.5);padding-left:18px}
.az h3{font-family:ui-monospace,Menlo,monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#A78BFA;margin:22px 0 6px}
.az p{margin:0;font-size:14px;line-height:2}
.az a{color:rgba(253,253,255,.78);text-decoration:none}
.az a:hover{color:#A78BFA}
.az .sep{color:rgba(253,253,255,.25);margin:0 6px}
.cta{margin:52px 0;padding:28px;border:1px solid rgba(167,139,250,.35);border-radius:16px;text-align:center;background:rgba(167,139,250,.06)}
.cta p{margin:0 0 16px;font-size:16px;color:#FDFDFF}
.cta a{display:inline-block;padding:12px 28px;border-radius:999px;background:#A78BFA;color:#14101F;text-decoration:none;font-weight:600;font-size:15px}
.cta .alt{display:block;margin-top:12px;font-size:13px;color:rgba(253,253,255,.55)}
.cta.own{margin:40px 0;text-align:left;display:grid;grid-template-columns:1fr auto;gap:8px 28px;align-items:center}
.cta.own h2{margin:0;font-size:24px;grid-column:1} .cta.own .sub{margin:0;font-size:15px;color:rgba(253,253,255,.78);grid-column:1}
.cta.own a{grid-column:2;grid-row:1 / span 2;white-space:nowrap} .cta.own .alt{grid-column:1 / -1;margin-top:4px}
@media (max-width:640px){.cta.own{grid-template-columns:1fr}.cta.own a{grid-column:1;grid-row:auto;justify-self:start}}
footer.site{border-top:1px solid rgba(255,255,255,.1);margin-top:72px;padding:28px 0}
footer.site .inner{max-width:1080px;margin:0 auto;padding:0 20px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;font-size:14px}
footer.site .links{display:flex;flex-wrap:wrap;gap:8px 18px}
footer.site a{color:rgba(253,253,255,.5);text-decoration:none}
footer.site a:hover{color:#FDFDFF}
