/* Homepage product carousel — one featured product, with adjacent previews. */
.home-products { padding: 24px 16px; background: var(--brand-burgundy); }
.product-showcase-panel {
    max-width: 1680px;
    margin-inline: auto;
    padding: clamp(48px, 5vw, 80px) 0 clamp(36px, 4vw, 60px);
    overflow: hidden;
    border-radius: var(--radius-panel);
    background: var(--paper);
    color: var(--ink);
    text-align: center;
}
.product-showcase-heading { padding-inline: 24px; margin-bottom: clamp(32px, 4vw, 56px); }
.product-showcase-heading h2 { margin: 0; font-size: var(--text-section); font-weight: 500; line-height: 1.1; letter-spacing: var(--tracking-heading); }
.product-showcase-stage { position: relative; max-width: 1440px; margin-inline: auto; padding: 8px 24px; touch-action: pan-y; }
.product-showcase-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin-bottom: 24px;
    overflow: hidden;
    border-radius: var(--radius-card);
    background: var(--brand-cream);
    color: inherit;
    text-decoration: none;
    text-align: left;
}
.product-showcase-media { position: relative; display: grid; place-items: center; min-width: 0; min-height: 360px; overflow: hidden; border-radius: var(--radius-card); background: var(--photo-mono); }
.product-showcase-media img { position: absolute; inset: 0; margin: auto; width: auto; height: auto; max-width: 100%; max-height: min(100%, 480px); object-fit: contain; user-select: none; -webkit-user-drag: none; }
.product-showcase-stereo .product-showcase-media { background: var(--photo-stereo); }
.product-showcase-node .product-showcase-media { background: var(--photo-node); }
.product-showcase-copy { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: clamp(28px, 3vw, 44px); }
.product-showcase-copy h3 { margin: 0 0 16px; font-size: var(--text-section); line-height: 1.15; font-weight: 500; letter-spacing: var(--tracking-heading); }
.product-showcase-description { margin: 0; max-width: 38ch; color: var(--text-muted); font-size: var(--text-body); line-height: var(--line-body); }
.product-showcase-arrow, .product-showcase-pagination { display: none; }
.product-showcase-action { display: inline-flex; gap: 20px; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; margin-top: 16px; border-radius: 999px; background: var(--brand-burgundy); color: var(--brand-paper); text-decoration: none; font-size: var(--text-ui); transition: background .2s ease; font-weight: 500;
}
.product-showcase-action:hover { background: var(--dark-surface); }
.product-showcase-card:focus-visible { outline: 3px solid var(--brand-coral); outline-offset: 4px; }

.is-ready .product-showcase-stage { display: grid; grid-template-columns: minmax(0, 1fr); padding: 8px 0; }
.is-ready .product-showcase-card {
    position: relative;
    grid-area: 1 / 1;
    justify-self: center;
    width: 76%;
    min-height: clamp(404px, 32vw, 464px);
    margin: 0;
    transform: scale(.8);
    opacity: .25;
    z-index: 1;
    transition: transform .55s cubic-bezier(.22,1,.36,1), opacity .4s ease;
}
.is-ready .product-showcase-card.is-before { transform: translateX(-30%) scale(.8); }
.is-ready .product-showcase-card.is-after { transform: translateX(30%) scale(.8); }
.is-ready .product-showcase-card.is-active { transform: none; opacity: 1; z-index: 3; }
.is-ready .product-showcase-arrow { position: absolute; z-index: 4; top: 50%; display: grid; place-items: center; width: 48px; height: 48px; padding: 12px; border: 1px solid var(--brand-mauve); border-radius: 50%; background: var(--brand-burgundy); color: var(--brand-paper); transform: translateY(-50%); cursor: pointer; transition: background .2s ease; }
.product-showcase-arrow svg { width: 100%; height: 100%; }
.product-showcase-prev { left: 4%; }
.product-showcase-next { right: 4%; }
.product-showcase-arrow:hover { background: var(--dark-surface); }
.is-ready .product-showcase-pagination { display: flex; align-items: center; justify-content: center; margin-top: 20px; }
.product-showcase-pagination button { display: grid; place-items: center; width: 36px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.product-showcase-pagination button::after { content: ""; width: 7px; height: 7px; border-radius: 99px; background: var(--light-line); transition: width .25s ease, background .25s ease; }
.product-showcase-pagination button[aria-pressed="true"]::after { width: 26px; background: var(--brand-coral); }

@media (max-width: 1100px) and (min-width: 761px) {
    .is-ready .product-showcase-card { width: 80%; }
    .product-showcase-copy { padding: 28px; }
    .product-showcase-prev { left: 2%; }
    .product-showcase-next { right: 2%; }
}
@media (max-width: 760px) {
    .home-products { padding: 16px 10px; }
    .product-showcase-panel { padding-top: 40px; }
    .product-showcase-heading { margin-bottom: 28px; }
    .product-showcase-card { grid-template-columns: 1fr; grid-template-rows: 240px 1fr; }
    .product-showcase-media { min-height: 0; }
    .product-showcase-media img { max-height: 100%; }
    .product-showcase-copy { padding: 24px; }
    .product-showcase-copy h3 { font-size: var(--text-section); margin-bottom: 12px; line-height: 1.15; letter-spacing: var(--tracking-heading);
}
    .product-showcase-description { font-size: var(--text-body); line-height: var(--line-body);
}
    .is-ready .product-showcase-card { width: calc(100% - 48px); min-height: 0; }
    .is-ready .product-showcase-card.is-before { transform: translateX(-52%) scale(.8); }
    .is-ready .product-showcase-card.is-after { transform: translateX(52%) scale(.8); }
    .is-ready .product-showcase-arrow { top: 128px; width: 44px; height: 44px; padding: 12px; }
    .product-showcase-prev { left: 4px; }
    .product-showcase-next { right: 4px; }
    .is-ready .product-showcase-pagination { margin-top: 12px; }
}
@media (max-width: 380px) {
    .product-showcase-card { grid-template-rows: 210px 1fr; }
    .product-showcase-copy { padding: 22px 20px; }
    .is-ready .product-showcase-arrow { top: 113px; }
}
@media (prefers-reduced-motion: reduce) {
    .home-products *, .home-products *::after { transition: none !important; }
}

.product-showcase-action { background: var(--brand-coral); color: var(--brand-burgundy); font-weight: 500;
}
.product-showcase-action:hover { background: var(--brand-burgundy); color: var(--brand-cream); }
