.hero-section { overflow: hidden; background: linear-gradient(135deg, var(--theme-secondary), color-mix(in srgb, var(--theme-secondary) 58%, #fff)); }
.hero-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr); align-items: center; gap: clamp(40px, 7vw, 100px); min-height: 560px; }
.hero-content h1 { max-width: 720px; margin-bottom: 18px; font-size: clamp(2.6rem, 6vw, 5.4rem); letter-spacing: -.04em; }
.hero-description { max-width: 620px; margin-bottom: 28px; color: var(--theme-muted); font-size: 1.08rem; }
.hero-media img, .hero-placeholder { width: 100%; aspect-ratio: 4 / 3; border-radius: var(--theme-radius-lg); box-shadow: var(--theme-shadow-md); object-fit: cover; }
.hero-placeholder { display: grid; place-items: center; border: 1px dashed color-mix(in srgb, var(--theme-primary) 30%, transparent); background: color-mix(in srgb, #fff 55%, transparent); color: var(--theme-muted); }
.features-strip { border-block: 1px solid var(--theme-border); background: var(--theme-bg); }
.features-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.feature-item { display: flex; flex-direction: column; gap: 2px; padding: 24px; border-inline-end: 1px solid var(--theme-border); }
.feature-item:first-child { border-inline-start: 1px solid var(--theme-border); }
.feature-item strong { font-size: 1rem; }
.feature-item span { color: var(--theme-muted); font-size: .9rem; }
.category-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.category-chip { padding: 9px 16px; border: 1px solid var(--theme-border); border-radius: var(--theme-radius-pill); background: var(--theme-bg); font-weight: 700; }
.category-chip:hover { border-color: var(--theme-primary); background: var(--theme-primary); color: #fff; }
.product-section:nth-of-type(even) { background: var(--theme-surface); }
