/* HERO-COMPOSITE-01: compact backdrop, copy-left plus one focused product object. */

.hero-composite { position: relative; display: flex; min-height: max(100svh, var(--l-hero-min-height, 640px)); align-items: center; padding: clamp(108px, 10vw, 148px) 0 clamp(64px, 7vw, 96px); background: var(--l-bg); border-bottom: 1px solid var(--l-line); isolation: isolate; overflow: hidden; }
.hero-composite::before { position: absolute; top: 0; right: 12%; z-index: 1; width: 1px; height: 100%; content: ''; background: linear-gradient(180deg, transparent, rgba(var(--l-gold-rgb), .28), transparent); opacity: .32; pointer-events: none; }
.hero-composite__visual,
.hero-composite__veil { position: absolute; inset: 0; margin: 0; }
.hero-composite__visual { z-index: 0; background: var(--l-hero-visual-bg); }
.hero-composite__visual picture { display: block; width: 100%; height: 100%; }
.hero-composite__visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; filter: var(--l-hero-image-filter); opacity: .62; }
.hero-composite__veil { z-index: 1; background: var(--l-hero-veil); pointer-events: none; }
.hero-composite__layout { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .78fr); align-items: center; gap: clamp(36px, 6vw, 88px); }
.hero-composite__copy { max-width: 620px; }
.hero-composite__copy h1 { max-width: 680px; color: var(--l-text); font-size: clamp(42px, 5.5vw, 74px); font-weight: 650; letter-spacing: -.045em; line-height: .98; text-transform: none; }
.hero-composite__lead { max-width: 520px; margin: 28px 0 0; color: var(--l-text-soft); font-size: clamp(16px, 1.35vw, 21px); line-height: 1.55; }
.hero-composite__copy .l-actions { margin-top: 32px; }
.hero-composite__object { width: min(100%, 520px); min-width: 0; justify-self: end; padding: clamp(20px, 2.4vw, 32px); background: linear-gradient(145deg, rgba(var(--l-surface-soft-rgb), .76), var(--l-deep-surface)); border: 1px solid rgba(var(--l-blue-rgb), .44); border-radius: var(--l-radius-lg); box-shadow: var(--l-shadow-soft), inset 0 1px 0 rgba(var(--l-text-rgb), .08); }
.hero-composite__object-head, .hero-composite__context > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.hero-composite__object-head { padding-bottom: 18px; border-bottom: 1px solid var(--l-line); color: var(--l-text-muted); font-family: var(--l-font-mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.hero-composite__object-head strong { color: var(--l-positive); font-weight: 500; }
.hero-composite__primary { display: grid; gap: 8px; padding: clamp(22px, 2.5vw, 32px) 0; }
.hero-composite__primary span, .hero-composite__primary small, .hero-composite__context dt, .hero-composite__signals small { color: var(--l-text-muted); font-family: var(--l-font-mono); font-size: 10px; line-height: 1.45; }
.hero-composite__primary strong { color: var(--l-text); font-size: clamp(26px, 2.8vw, 42px); font-weight: 600; letter-spacing: -.035em; line-height: 1; }
.hero-composite__context { display: grid; gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--l-line); border-bottom: 1px solid var(--l-line); }
.hero-composite__context > div { padding: 10px 0; }
.hero-composite__context > div + div { border-top: 1px solid var(--l-line); }
.hero-composite__context dt, .hero-composite__context dd { margin: 0; }
.hero-composite__context dd { color: var(--l-text); font-family: var(--l-font-mono); font-size: 12px; }
.hero-composite__signals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.hero-composite__signals li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; min-width: 0; padding: 10px; background: rgba(var(--l-bg-rgb), .42); border: 1px solid var(--l-line); border-radius: var(--l-radius-sm); }
.hero-composite__signals li > span { display: grid; width: 24px; height: 24px; place-items: center; color: var(--l-accent); }
.hero-composite__signals .shd-svg-icon { width: 100%; height: 100%; }
.hero-composite__signals strong { display: block; color: var(--l-text); font-size: 11px; font-weight: 600; line-height: 1.25; }
.hero-composite__signals small { display: block; margin-top: 4px; font-family: var(--l-font-ui); font-size: 10px; }

@media (max-width: 900px) {
	.hero-composite { padding-top: 104px; }
	.hero-composite__layout { grid-template-columns: 1fr; gap: 52px; }
	.hero-composite__copy, .hero-composite__object { width: 100%; max-width: 720px; justify-self: start; }
}

@media (max-width: 560px) {
	.hero-composite { padding-block: 94px 72px; }
	.hero-composite__layout { gap: 38px; }
	.hero-composite__copy h1 { font-size: clamp(38px, 12vw, 58px); }
	.hero-composite__signals { grid-template-columns: 1fr; }
}
