/* Silicon-matrix homepage visual — white/silver materials, coral accents, local vector artwork. */
.hero-concepts { width:100%; min-width:0; max-width:680px; margin-left:auto; }
.hero-illustration-card.hero-concept-card { --tilt-x:0deg; --tilt-y:0deg; position:relative; width:100%; height:auto; aspect-ratio:1.17; max-height:none; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
.hero-concept-card::before,.hero-concept-card::after { display:none; }
.hc-stage { position:absolute; inset:27px -10px 27px; perspective:1100px; }
.hc-art { display:block; width:100%; height:100%; max-width:none; overflow:visible; transform:rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)); transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.hc-scene { animation:hc-reveal .65s ease both; }
.hc-footer { position:absolute; inset:auto 18px 0; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.hc-concept-note { color:#8293a7; font-size:11px; letter-spacing:.08em; }
.hc-motion { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:6px 9px; background:transparent; border:0; border-radius:7px; color:#8093a7; font:11px var(--font); cursor:pointer; transition:color .2s,background .2s; white-space:nowrap; }
.hc-motion:hover { color:#3073c7; background:#edf4fd; }
.hc-motion:focus-visible { outline:2px solid #70a7e5; outline-offset:3px; }
.hc-disclaimer { margin:9px 18px 0; color:#adb7c3; font-size:9px; letter-spacing:.08em; text-align:right; }
.hc-bob { animation:hc-hover 6s ease-in-out infinite; }
.hc-led { animation:hc-led 3s ease-in-out infinite; }
.hc-flow { animation:hc-flow 5s linear infinite; }
.hc-chip-lower { animation:hc-layer-bottom 8s ease-in-out infinite; }
.hc-chip-middle { animation:hc-layer-middle 8s ease-in-out infinite; }
.hc-chip-upper { animation:hc-layer-top 8s ease-in-out infinite; }
.hero-concept-card.is-paused * { animation-play-state:paused !important; }
.hero-concept-card.is-paused .hc-art { transform:none; }
.hero-concept-card.is-paused .hc-scene { animation:none; }
@keyframes hc-reveal { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
@keyframes hc-hover { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }
@keyframes hc-led { 0%,100% { opacity:.45; } 45%,65% { opacity:1; } }
@keyframes hc-flow { to { stroke-dashoffset:-252; } }
@keyframes hc-layer-bottom { 0%,100% { transform:translateY(0); } 50% { transform:translateY(4px); } }
@keyframes hc-layer-middle { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@keyframes hc-layer-top { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-16px); } }
@media (max-width:1024px) {
  .hero-concepts { max-width:620px; margin-inline:auto; }
}
@media (max-width:760px) {
  .hero-illustration-card.hero-concept-card { aspect-ratio:1.13; min-height:0; }
  .hc-stage { inset:25px -7px 23px; }
  .hc-footer { left:6px; right:6px; bottom:-3px; gap:7px; }
  .hc-concept-note { font-size:10px; letter-spacing:0; }
  .hc-motion { min-height:38px; padding-inline:5px; font-size:10px; }
  .hc-disclaimer { margin:6px 5px 0; font-size:8px; }
}
@media (hover:none) {
  .hero-concept-card .hc-art { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-concepts *, .hero-concept-card.is-paused * { animation:none !important; transition:none !important; }
  .hero-concept-card .hc-art { transform:none; }
  .hc-motion { display:none; }
}
