/* A short route from the warm, familiar catalog to an actual table. */
.catalog .catalog-hero { grid-template-columns:minmax(0,1.65fr) minmax(260px,.8fr); gap:36px; align-items:start; padding:32px 0 26px; }
.catalog .catalog-hero :is(h1,h2:where([data-secondary-heading])) { max-width:660px; font-size:clamp(32px,3.6vw,46px); margin:12px 0 16px; }
.catalog .catalog-hero .lede { max-width:650px; font-size:15px; line-height:1.6; margin-bottom:20px; }
.portal-starters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.portal-starter { min-width:0; display:flex; flex-direction:column; border:1px solid #d6cdbc; border-radius:10px; overflow:hidden; background:#fffaf0; }
.portal-starter img { display:block; width:100%; height:134px; object-fit:contain; background:#ece4d3; padding:8px; }
.portal-starter-copy { display:flex; flex-direction:column; flex:1; gap:5px; padding:12px; }
.portal-starter strong { font-size:15px; line-height:1.35; overflow-wrap:anywhere; }
.portal-player-count { font-size:12px; color:#574f43; }
.portal-mode { font-size:10px; line-height:1.4; color:#665d4f; }
.portal-play { margin-top:auto; padding-top:7px; display:flex; justify-content:space-between; gap:6px; font-size:12px; font-weight:700; color:#853e2e; }
.portal-starter:hover { border-color:#b36d54; }
.portal-how { font-size:12px; line-height:1.6; color:#665d4f; margin:12px 0 0; }
.catalog .browse-button { margin-top:16px; padding:10px 16px; font-size:13px; }
.catalog .invitation { transform:none; background:#eee6d4; border-color:#d6cdbc; padding:26px; margin-top:8px; }
.catalog .invitation .eyebrow { display:block; padding-right:28px; }
.catalog .invitation-star { right:20px; top:20px; }
.catalog .search-home-nav { border-top:1px solid var(--line); padding-top:22px; }
.portal-context-links { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; font-size:0; margin:14px 0 0; }
.portal-context-links a { display:inline-flex; align-items:center; min-height:44px; padding:8px 13px; border:1px solid #d6cdbc; border-radius:7px; font-size:13px; line-height:1.4; background:#f9f1e2; }
.portal-context-links a:hover { background:#eee1ca; }
.portal-context-links a:focus-visible,.portal-starter:focus-visible { outline:3px solid #954b36; outline-offset:3px; }
@media(max-width:900px) {
 .catalog .catalog-hero { grid-template-columns:minmax(0,1fr) minmax(230px,.72fr); gap:24px; }
 .portal-starter img { height:106px; padding:5px; }
 .portal-starter-copy { padding:9px; }
 .portal-starter strong { font-size:13px; }
 .catalog .invitation { padding:20px; }
}
@media(max-width:700px) {
 .catalog .catalog-hero { grid-template-columns:minmax(0,1fr); padding:24px 0; gap:22px; }
 .catalog .catalog-hero :is(h1,h2:where([data-secondary-heading])) { font-size:32px; line-height:1.2; }
 .catalog .catalog-hero .lede { font-size:14px; margin-bottom:16px; }
 .portal-starters { gap:8px; }
 .portal-starter img { height:98px; }
 .portal-starter-copy { padding:9px 8px; }
 .portal-starter strong { min-height:2.7em; }
 .portal-mode { font-size:10px; }
 .portal-play { font-size:11px; }
 .catalog .invitation { margin:0; }
 .portal-context-links { gap:8px; }
 .portal-context-links a { flex:1 1 140px; justify-content:center; }
}
@media(prefers-reduced-motion:reduce) { .portal-starter,.portal-context-links a { transition:none; animation:none; } }
