/* ASL public app catalog and reviewer resources, October 2026. */
.portfolio-hero .lede{max-width:64ch}.portfolio-date{color:var(--muted,#a9b7ca);font-size:.95rem}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:1.5rem}
.portfolio-card{min-width:0;display:flex;flex-direction:column;padding:1.5rem;border:1px solid rgba(151,182,210,.26);border-radius:18px;background:rgba(25,43,63,.55)}
.portfolio-card h3{font-size:1.4rem;line-height:1.25;margin:.3rem 0 .8rem}.portfolio-card p{margin:.45rem 0;line-height:1.65}
.portfolio-price{color:#95dce6;font-weight:650}.portfolio-limit{font-size:.95rem;color:#b9c8d7}.portfolio-actions{display:flex;gap:.85rem;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:1.25rem}.portfolio-actions a{overflow-wrap:anywhere}
.portfolio-jump{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.portfolio-jump a{padding:.65rem 1rem;border:1px solid #55758d;border-radius:999px}
.portfolio-callout,.store-availability .portfolio-inner{padding:1.5rem;border:1px solid #517990;border-radius:16px;background:rgba(27,56,75,.35);margin:1rem 0}
.portfolio-reading{max-width:84ch}.portfolio-reading p,.portfolio-reading li{line-height:1.8}.portfolio-reading h2{margin-top:2.25rem}.portfolio-reading h3{margin-top:1.6rem}.portfolio-reading ul,.portfolio-reading ol{padding-left:1.5rem}.portfolio-reading li+li{margin-top:.6rem}
.portfolio-reading table{width:100%;border-collapse:collapse;font-size:.96rem}.portfolio-reading th,.portfolio-reading td{padding:.85rem;text-align:left;vertical-align:top;border:1px solid #496173}.portfolio-reading th{background:#1b3448}.portfolio-reading code{overflow-wrap:anywhere;white-space:normal}
.portfolio-footer{display:flex;gap:1.5rem;flex-wrap:wrap;padding-block:1rem}.store-availability{padding-block:1.5rem}.store-availability .portfolio-inner{max-width:100%;box-sizing:border-box}.store-availability h2{margin-top:0}.store-availability p{max-width:85ch}.store-availability a{overflow-wrap:anywhere}.store-availability .btn{display:inline-flex}
.portfolio-index{columns:2;column-gap:2.5rem}.portfolio-index li{break-inside:avoid;margin-bottom:.65rem}
@media(max-width:1000px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.portfolio-grid{grid-template-columns:minmax(0,1fr)}.portfolio-card{padding:1.2rem}.portfolio-index{columns:1}.portfolio-reading table{font-size:.88rem}.portfolio-jump a{padding:.6rem .8rem}.portfolio-actions{align-items:flex-start;flex-direction:column}}
