/* Homepage-only product gallery. Existing site palette and typography retained. */
body.site-home .product-showcase { max-width:1280px; padding:2rem 2rem 5rem; scroll-margin-top:6rem; }
.product-showcase .familiars-head { margin:0 auto 2rem; max-width:760px; }
.product-showcase .section-title { font-size:clamp(2.5rem,4.4vw,3.7rem); line-height:1.1; margin:1rem 0; }
.product-showcase .showcase-intro { font-size:1.13rem; line-height:1.5; color:#c5bbd1; margin:0 auto; }
.product-showcase .motion-control { width:max-content; font:11px/1.4 'Space Mono',monospace; letter-spacing:.025em; border-radius:99px; background:transparent; border-color:#4d3b68; margin:1.3rem auto 0; padding:.6rem 1rem; }
.product-showcase .motion-control[hidden] { display:none; }
.product-showcase .familiars-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"home portrait" "phone custom" "together games"; gap:1.6rem; max-width:none; }
.product-card-home { grid-area:home; }
.product-card-portrait { grid-area:portrait; }
.product-card-phone { grid-area:phone; }
.product-card-custom { grid-area:custom; }
.product-card-together { grid-area:together; }
.product-card-games { grid-area:games; }
.product-showcase .familiar-card { min-width:0; display:flex; align-items:stretch; gap:0; padding:0; overflow:hidden; border:1px solid #37294b; border-radius:18px; background:linear-gradient(145deg,#171122,#0e0b16); box-shadow:0 16px 48px -28px #000; transition:border-color .2s,box-shadow .2s,transform .2s; }
.product-showcase .familiar-card:hover { border-color:#8f70b7; transform:translateY(-3px); box-shadow:0 22px 46px -27px #684599; }
.product-showcase .product-scene { position:relative; flex:none; width:100%; aspect-ratio:16/10; overflow:hidden; border-bottom:1px solid #37294b; isolation:isolate; }
.product-showcase .product-scene img { display:block; max-width:none; object-fit:contain; }
.product-showcase .scene-tag { position:absolute; top:5.5%; left:5%; z-index:5; border:1px solid #ffffff25; border-radius:99px; background:#110c1fdf; padding:7px 11px; color:#e3d5ee; font:10px/1.2 'Space Mono',monospace; letter-spacing:.025em; }
.product-showcase .product-copy { display:flex; flex-direction:column; flex:1; padding:1.5rem 1.65rem 1.35rem; }
.product-showcase .fk { font-size:.61rem; letter-spacing:.12em; margin-bottom:.65rem; color:#d7b67a; }
.product-showcase .familiar-card h3 { font-size:clamp(1.7rem,2.4vw,2.05rem); line-height:1.1; margin-bottom:.7rem; }
.product-showcase .familiar-card p { font-size:1.02rem; line-height:1.55; color:#bdb2c8; margin:0 0 1.5rem; max-width:45ch; }
.product-showcase .product-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.7rem 1rem; margin-top:auto; border-top:1px solid #ffffff12; padding-top:1rem; }
.product-showcase .product-price { font:1rem/1.4 'Space Mono',monospace; color:#f1e5d1; }
.product-showcase .product-price small, .product-showcase .product-detail { font:11px/1.4 'Space Mono',monospace; color:#b9acc8; }
.product-showcase .fl { font-size:.62rem; letter-spacing:.055em; color:#d4c1f5; }
.product-showcase .row-arrow { display:inline-block; font-size:1.1rem; margin-left:.25rem; }
.scene-home { background:radial-gradient(ellipse at 15% 100%,#754c2570,transparent 60%),radial-gradient(ellipse at 95% 0%,#453071,#100c1b 75%); }
.product-showcase .home-desktop { position:absolute; width:85%; height:auto; left:5%; top:20%; border-radius:8px; border:1px solid #bc90b047; box-shadow:0 12px 36px #0007; }
.product-showcase .home-familiar { position:absolute; height:70%; width:auto; left:2%; bottom:1%; z-index:2; filter:drop-shadow(0 10px 14px #0009); }
.product-showcase .home-phone { position:absolute; height:80%; width:auto; right:5%; bottom:3%; z-index:3; border:3px solid #252029; border-radius:15px; box-shadow:0 12px 22px #0009; }
.scene-portrait { background:#11101f; }
.product-showcase .portrait-desktop { position:absolute; width:100%; height:100%; object-fit:cover; object-position:68% center; }
.scene-games { background:#15252b; }
.product-showcase .games-room { position:absolute; width:100%; height:100%; object-fit:cover; opacity:.43; }
.product-showcase .game-window { position:absolute; width:58%; overflow:hidden; border:1px solid #d5bc8877; border-radius:9px; box-shadow:0 12px 30px #0009; background:#0c252d; }
.product-showcase .game-window > span { display:block; padding:6px 10px; font:10px/1.2 'Space Mono',monospace; color:#f1dfb9; background:#172b2d; }
.product-showcase .game-window img { width:100%; height:auto; }
.product-showcase .game-word { top:20%; left:5%; width:55%; transform:rotate(-6deg); }
.product-showcase .game-fleet { top:21%; right:4%; width:54%; transform:rotate(6deg); }
.product-showcase .game-sketch { width:58%; left:21%; bottom:3%; z-index:3; }
.scene-custom { background:radial-gradient(ellipse at 65% 60%,#372163,#0a081b 70%); }
.custom-halo { position:absolute; width:66%; aspect-ratio:1; border:1px solid #9b70dc25; border-radius:50%; left:37%; top:3%; box-shadow:0 0 70px #865fe715,inset 0 0 60px #865fe712; }
.product-showcase .custom-octopus { position:absolute; right:0; bottom:-2%; height:96%; width:auto; filter:drop-shadow(0 8px 24px #7b43cb38); }
.custom-caption { position:absolute; left:6%; top:42%; z-index:2; font:clamp(1.25rem,2.15vw,1.75rem)/1.25 'Cormorant Garamond',Georgia,serif; color:#efe5fa; }
.custom-caption em { color:#c5a3e6; }
.scene-together { background:#080a19; }
.product-showcase .together-desktop { position:absolute; width:100%; height:100%; object-fit:contain; bottom:-2%; }
.scene-phone { background:radial-gradient(ellipse at 85% 10%,#69423e,#211329 45%,#120d21 80%); }
.phone-caption { position:absolute; left:6%; top:43%; width:38%; font:clamp(1.25rem,2.15vw,1.75rem)/1.25 'Cormorant Garamond',Georgia,serif; color:#f6dfd1; }
.phone-caption em { color:#d4b7e7; }
.product-showcase .phone-front,.product-showcase .phone-back { position:absolute; width:auto; height:82%; bottom:-6%; border:3px solid #302333; border-radius:17px; box-shadow:0 10px 28px #0008; }
.product-showcase .phone-back { right:6%; bottom:8%; transform:rotate(8deg); opacity:.9; }
.product-showcase .phone-front { right:25%; transform:rotate(-7deg); }
.showcase-shop-link { display:block; width:fit-content; max-width:100%; margin:2rem auto 0; color:#cabbdd; font-size:1rem; line-height:1.5; text-align:center; text-underline-offset:5px; }
.showcase-shop-link:hover { color:#e6c58b; }
@media(max-width:760px) {
  body.site-home .product-showcase { padding:1.5rem 1.2rem 3.5rem; }
  .product-showcase .familiars-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:"home" "phone" "portrait" "custom" "together" "games"; gap:1.3rem; }
  .product-showcase .product-copy { padding:1.3rem; }
  .product-showcase .familiar-card h3 { font-size:1.85rem; }
  .product-showcase .custom-caption,.product-showcase .phone-caption { font-size:clamp(1.2rem,5vw,1.8rem); }
}
@media(max-width:380px) {
  .product-showcase .scene-tag { font-size:9px; padding:6px 8px; }
  .product-showcase .game-window > span { font-size:8px; padding:4px 7px; }
  .product-showcase .product-footer { align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) {
  .product-showcase .familiar-card { transition:none; }
  .product-showcase .familiar-card:hover { transform:none; }
}
