/* Scoped Companion page additions; shared website styles remain unchanged. */
.companion-product-art { max-width: 510px; justify-self: end; }
.companion-product-art > img { width: 100%; max-height: none; height: auto; object-fit: contain; }
.companion-page-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: .65rem 1.5rem; padding: 1.25rem 1.5rem; border-block: 1px solid rgba(185,137,255,.2); background: #110e24; }
.companion-page-nav a { color: #e8dbff; font-weight: 600; text-underline-offset: .3em; }
.companion-new-grid, .companion-topic-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
.companion-new-grid article, .companion-topic-grid article { min-width: 0; padding: clamp(1.25rem,2.5vw,2rem); border: 1px solid rgba(185,137,255,.25); border-radius: 1.25rem; background: linear-gradient(135deg,rgba(81,43,126,.23),rgba(10,15,39,.9)); }
.companion-new-grid h3, .companion-topic-grid h3 { margin: .5rem 0 .75rem; font-size: 1.5rem; line-height: 1.25; }
.companion-new-grid p:last-child, .companion-topic-grid > article > p { margin-bottom: 0; }
.companion-topic-grid details { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid rgba(185,137,255,.22); }
.companion-topic-grid summary { cursor: pointer; font-weight: 700; color: #d9beff; padding: .4rem 0; }
.companion-topic-grid details ul { padding-left: 1.2rem; line-height: 1.75; }
.companion-topic-grid details li + li { margin-top: .55rem; }
.companion-topic-grid details p { color: var(--muted); font-size: .95rem; line-height: 1.7; }
.companion-roadmap-pair { grid-template-columns: repeat(2,minmax(0,1fr)); }
.companion-topic-grid { align-items: start; }
.companion-table-hint { display: none; }
.companion-extra-gallery { margin-top: 1.5rem; padding: 1.25rem; border: 1px solid rgba(185,137,255,.25); border-radius: 1.25rem; }
.companion-extra-gallery summary { cursor: pointer; color: #d9beff; font-weight: 700; line-height: 1.6; }
.companion-extra-gallery[open] summary { margin-bottom: 1.25rem; }
.companion-extra-gallery summary:focus-visible { outline: 3px solid #62e4da; outline-offset: 5px; }
.companion-gallery figcaption small { display: block; color: #c4b5df; margin-top: .7rem; font-size: .8rem; line-height: 1.5; }
.companion-demo video { aspect-ratio: 16 / 9; height: auto; }
.companion-page-nav a:focus-visible, .companion-topic-grid summary:focus-visible { outline: 3px solid #62e4da; outline-offset: 5px; border-radius: 4px; }
#companion-new, #companion-capabilities, #companion-plans, #companion-roadmap, #download, #companion-demo { scroll-margin-top: 7rem; }
@media (max-width: 700px) {
 #companion-demo .section-actions { display: grid; grid-template-columns: minmax(0,1fr); }
 #companion-demo .section-actions .button { width: 100%; }
 .companion-new-grid, .companion-topic-grid, .companion-roadmap-pair { grid-template-columns: minmax(0,1fr); }
 .companion-product-art { justify-self: center; width: min(100%,420px); }
 .companion-page-nav { justify-content: flex-start; gap: .8rem 1.2rem; }
 .companion-page-nav a { padding-block: .35rem; }
 .companion-download-card .record-heading { align-items: flex-start; flex-direction: column; }
 .companion-table-hint { display: block; color: var(--muted); font-size: .9rem; }
 .companion-plan-section .companion-plan-table { min-width: 620px; }
 .companion-plan-section .companion-plan-table thead th:first-child, .companion-plan-section .companion-plan-table tbody th:not([colspan]) { width: 34%; }
 [aria-labelledby="companion-connections-title"] .companion-plan-table { display: block; min-width: 0; }
 [aria-labelledby="companion-connections-title"] thead { display: none; }
 [aria-labelledby="companion-connections-title"] tbody, [aria-labelledby="companion-connections-title"] tr { display: block; }
 [aria-labelledby="companion-connections-title"] th, [aria-labelledby="companion-connections-title"] td { display: block; width: auto; min-width: 0; padding: 1rem; border: 0; }
 [aria-labelledby="companion-connections-title"] tr + tr { border-top: 1px solid rgba(185,137,255,.3); }
 [aria-labelledby="companion-connections-title"] th { background: rgba(185,137,255,.12); }
 [aria-labelledby="companion-connections-title"] .companion-plan-table tbody th:not([colspan]) { width: auto; }
 [aria-labelledby="companion-connections-title"] td { text-align: left; font-weight: 400; }
 [aria-labelledby="companion-connections-title"] td + td { padding-top: 0; color: var(--muted); }
 #companion-new, #companion-capabilities, #companion-plans, #companion-roadmap, #download, #companion-demo { scroll-margin-top: 10rem; }
}
