/* Shared styles for content/legal pages */ .hero { padding: 160px 24px 60px; text-align: center; background: linear-gradient(180deg, var(--color-primary-surface) 0%, var(--color-surface) 100%); } .title { font-size: 42px; font-weight: 700; margin-bottom: 12px; } .subtitle { font-size: 18px; color: var(--color-text-secondary); max-width: 600px; margin: 0 auto; } .body { max-width: 800px; margin: 0 auto; padding: 60px 24px 100px; } .body h2 { font-size: 24px; font-weight: 600; margin: 40px 0 16px; color: var(--color-text-primary); } .body h3 { font-size: 18px; font-weight: 600; margin: 28px 0 12px; color: var(--color-text-primary); } .body p { font-size: 15px; line-height: 1.8; color: var(--color-text-secondary); margin-bottom: 16px; } .body ul { padding-left: 24px; margin-bottom: 16px; } .body li { font-size: 15px; line-height: 1.8; color: var(--color-text-secondary); margin-bottom: 8px; } .updated { font-size: 14px; color: var(--color-text-tertiary); margin-bottom: 40px; } /* ---- Grid layout for pages like careers, help, status ---- */ .grid { max-width: var(--max-width); margin: 0 auto; padding: 80px 24px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; } .card { background: var(--color-surface); border-radius: var(--radius-lg); padding: 36px 28px; border: 1px solid var(--color-border-light); transition: all 0.3s; } .card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); } .cardIcon { font-size: 36px; margin-bottom: 16px; } .cardTitle { font-size: 20px; font-weight: 600; margin-bottom: 10px; } .cardDesc { font-size: 14px; color: var(--color-text-secondary); line-height: 1.7; } .cardLink { display: inline-block; margin-top: 16px; font-size: 14px; font-weight: 600; color: var(--color-primary); } /* ---- Status indicator ---- */ .statusDot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--color-success); margin-right: 8px; } .statusRow { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid var(--color-border-light); font-size: 15px; } .statusLabel { display: flex; align-items: center; gap: 8px; } .statusBadge { font-size: 13px; font-weight: 500; color: var(--color-success); } /* ---- Blog card ---- */ .blogCard { background: var(--color-surface); border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--color-border-light); transition: all 0.3s; } .blogCard:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); } .blogThumb { height: 180px; background: linear-gradient(135deg, var(--color-primary-surface), var(--color-primary-container)); display: flex; align-items: center; justify-content: center; font-size: 48px; } .blogBody { padding: 24px; } .blogDate { font-size: 13px; color: var(--color-text-tertiary); margin-bottom: 8px; } .blogTitle { font-size: 18px; font-weight: 600; margin-bottom: 8px; } .blogExcerpt { font-size: 14px; color: var(--color-text-secondary); line-height: 1.6; } @media (max-width: 768px) { .title { font-size: 28px; } .grid { grid-template-columns: 1fr; max-width: 480px; } }