    .btn-primary { transition: background 0.2s, transform 0.2s; }
    .btn-primary:hover { background: #3a3a3a; transform: translateY(-1px); }
    .btn-ghost { transition: background 0.2s, color 0.2s, transform 0.2s; }
    .btn-ghost:hover { background: #0a0a0a; color: #fff; transform: translateY(-1px); }
    .section-tag { display: inline-block; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: #6b6b6b; border-bottom: 2px solid #0a0a0a; padding-bottom: 2px; }
    img { display: block; width: 100%; object-fit: cover; }
    .page-hero { background: linear-gradient(135deg, #e0e4ec 0%, #ede8e0 50%, #e4e0ec 100%); }
    .blob1 { position: absolute; top: -40px; left: 5%; width: 300px; height: 300px; border-radius: 50%; background: rgba(160,170,210,0.3); filter: blur(55px); pointer-events: none; }
    .blob2 { position: absolute; bottom: -50px; right: 8%; width: 240px; height: 240px; border-radius: 50%; background: rgba(200,185,160,0.35); filter: blur(45px); pointer-events: none; }
    @keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
    .fade-up { animation: fadeUp 0.6s ease both; }
    /* CTA section */
    .cta-section { background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 100%); }
    /* Icon circle */
    .icon-circle { width: 56px; height: 56px; border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; flex-shrink: 0; }
    /* Coming soon badge */
    .coming-soon { background: rgba(10,10,10,0.06); border: 1px dashed rgba(10,10,10,0.2); }