/* Vitrine: green velvet, a lit case, thin champagne type. */
body { --bg: #0d2a22; --fg: #efe4c8; --display: Cormorant, serif; --display-w: 300; --body: Jost, system-ui, sans-serif; --strip-bg: #0d2a22; --strip-fg: #b9a97f; --why-bg: #0a211a; }
.buy { background: none; border: 1px solid #e4cf9f; color: #e4cf9f; padding: 0.65rem 1.4rem; transition: background 0.3s, color 0.3s; }
@media (hover: hover) { .buy:hover { background: #e4cf9f; color: #0d2a22; } }
.ctl { background: none; border: 0; color: inherit; padding: 0.3rem 0; text-decoration: underline; text-underline-offset: 0.25em; }
.j-hero { background-image: radial-gradient(140% 90% at 80% 40%, #143a2f, #0a201a 70%); display: grid; grid-template-columns: minmax(16rem, 1fr) minmax(0, 2fr); height: calc(100svh - 1.8rem); min-height: 38rem; overflow: clip; }
.j-text { align-self: end; padding: 1.5rem var(--gutter); }
.shopname { font-family: Cormorant, serif; font-size: 1.4rem; font-style: italic; }
.j-text h1 { font-family: Cormorant, serif; font-size: clamp(2.2rem, 4.4vw, 4.6rem); font-weight: 300; line-height: 1; margin: 0.5rem 0 1.5rem; }
.j-name { font-family: Cormorant, serif; font-size: 1.6rem; font-style: italic; margin: 0; }
.j-price { font-size: 1.05rem; margin: 0 0 1rem; }
.j-ctl { display: flex; gap: 1.25rem; margin-block-start: 0.75rem; }
.cartline { font-size: 0.8rem; margin: 0.75rem 0 0; }
.j-case { min-height: 0; position: relative; }
.j-case .row-demo, .j-case .gs-track, .j-case .gs-slide { height: 100%; }
.j-tray { padding: clamp(3rem, 7vw, 6rem) var(--gutter); }
.j-tray h2 { font-family: Cormorant, serif; font-size: clamp(3rem, 7vw, 6.5rem); font-style: italic; font-weight: 300; line-height: 1; margin: 0 0 1.5rem; }
.j-tray .row-demo { --gap: 18px; }
.j-tray .gs-slide { border-radius: 22px; overflow: hidden; }
.j-tray img { border-radius: 22px; }
@media (max-width: 820px) { .j-hero { grid-template-columns: minmax(0, 1fr); height: auto; } .j-case { grid-row: 1; height: 58vh; } }
@media (prefers-reduced-motion: reduce) { .buy { transition: none; } }
.j-hero { grid-template-columns: minmax(16rem, 1fr) auto; height: auto; min-height: calc(100svh - 1.8rem); }
.j-case { --sq: min(100svh - 1.8rem, 62vw); height: var(--sq); width: var(--sq); }
.j-tray .gs-media { border-radius: 22px; }
@media (max-width: 820px) { .j-hero { grid-template-columns: minmax(0, 1fr); } .j-case { height: auto; width: 100%; } .j-case .row-demo, .j-case .gs-track, .j-case .gs-slide { height: auto; } }
