:root {
    --brand: #e3b709;
    --brand-dark: #e3b709;
    --accent: #f59e0b;
    --bg-soft: #f8fafc;
    --text: #0f172a;
    --muted: #64748b;
}

.hero-gradient { background: linear-gradient(135deg, #eff6ff 0%, #f8fafc 100%); }
.video-wrapper { position: relative; border-radius: 1rem; overflow: hidden; box-shadow: 0 20px 40px -10px rgba(0,0,0,0.15); }
.video-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.4); display: flex; align-items: center; justify-content: center; transition: 0.3s; cursor: pointer; }
.video-overlay:hover { background: rgba(0,0,0,0.2); }
.play-btn { width: 70px; height: 70px; background: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px; color: var(--brand); box-shadow: 0 8px 20px rgba(0,0,0,0.2); transition: 0.3s; }
.play-btn:hover { transform: scale(1.1); }

.offer-card { border: none; border-radius: 1.2rem; transition: transform 0.3s, box-shadow 0.3s; overflow: hidden; }
.offer-card:hover { transform: translateY(-6px); box-shadow: 0 12px 30px rgba(37,99,235,0.12); }
.offer-header { padding: 1.5rem 1.5rem 1rem; background: #fff; border-bottom: 1px solid #e2e8f0; }
.offer-body { padding: 1.5rem; background: #fff; flex: 1; display: flex; flex-direction: column; }
.price-tag { font-size: 2.2rem; font-weight: 700; color: var(--brand); line-height: 1; }
.price-sub { font-size: 0.85rem; color: var(--muted); }
.feature-list { list-style: none; padding: 0; margin: 1rem 0 1.5rem; }
.feature-list li { padding: 0.4rem 0; display: flex; align-items: center; gap: 8px; font-size: 0.95rem; }
.feature-list li i { color: #10b981; }

.btn-cta { background: var(--brand); border: none; padding: 0.85rem 1.5rem; font-weight: 600; letter-spacing: 0.3px; transition: 0.2s; }
.btn-cta:hover { background: var(--brand-dark); transform: translateY(-1px); }
.badge-reco { position: absolute; top: -10px; right: 15px; background: var(--accent); color: #000; font-weight: 700; padding: 0.35rem 0.8rem; border-radius: 99px; box-shadow: 0 4px 12px rgba(245,158,11,0.4); z-index: 2; font-size: 0.75rem; }

.trust-strip { background: #fff; border-top: 1px solid #e2e8f0; padding: 1rem 0; font-size: 0.85rem; color: var(--muted); }
.trust-strip i { color: var(--brand); margin-right: 4px; }

@media(max-width: 768px) {
    .price-tag { font-size: 1.9rem; }
    .video-wrapper { margin: 0 -1rem; border-radius: 0; }
    .btn-cta { width: 100%; }
}