/* Compact hardware portfolio entry, using the shared site theme. */
.pib-page .section-marker h2 { margin: 0; font-size: 24px; font-weight: 600; line-height: 1.3; letter-spacing: -.02em; }
.pib-page main.project-layout { grid-template-columns: minmax(0, 1fr); max-width: 1080px; }
.pib-page .project-toc { display: none; }
.pib-page .scrapr-section { padding-bottom: 28px; }
.pib-page .scrapr-hero { padding-bottom: 0; }
.pib-page .pib-overview { padding-top: 28px; }
.pib-overview .section-content > p { margin-bottom: 14px; }
.pib-carousel { display: block; width: 100%; max-width: 100%; margin-top: 48px; }
.pib-overview .section-content { display: block; }
.pib-carousel > h3 { font-size: 22px; margin: 0 0 20px; letter-spacing: -.02em; }
.pib-slide { margin: 0; }
.pib-slide[hidden] { display: none; }
.pib-slide-image { display: flex; align-items: center; justify-content: center; height: clamp(180px, 48vw, 440px); max-height: 52svh; padding: 20px; background: #fff; border: 1px solid var(--border); border-radius: 14px; }
.pib-slide img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.pib-slide figcaption { margin-top: 16px; max-width: 76ch; font-size: 14px; color: var(--muted); line-height: 1.6; }
.pib-carousel-controls { display: flex; align-items: center; justify-content: space-between; margin: 12px 0; color: var(--muted); font-size: 14px; }
.pib-arrows { display: flex; gap: 6px; }
.pib-arrows button { background: transparent; border: 1px solid var(--border); color: var(--text); border-radius: 6px; min-width: 38px; min-height: 36px; cursor: pointer; font-size: 18px; }
.pib-carousel-tabs { display: flex; position: relative; overflow-x: auto; gap: 24px; border-bottom: 1px solid var(--border); scrollbar-width: thin; }
.pib-carousel-tabs button { flex-shrink: 0; padding: 14px 0; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); font: inherit; font-size: 15px; cursor: pointer; }
.pib-carousel-tabs button[aria-selected="true"] { color: var(--text); border-bottom-color: var(--accent); }
.pib-carousel button:hover { color: var(--text); background: var(--hover); }
.pib-carousel :is(button,a,[role="tabpanel"]):focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
@media (max-width: 760px) { .pib-slide-image { padding: 10px; border-radius: 10px; } .pib-carousel-tabs { gap: 20px; } .pib-carousel { margin-top: 30px; } }
