.welcome-box {
    transition: .2s;
    background: #fff;
    border-radius: 1.25rem;
    padding: 2rem 1.5rem;
    box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.06);
    border: 1px solid rgba(0,0,0,.04);
    transition: all .2s ease;
}

.welcome-box:hover {
    transform: translateY(-4px);
    box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.08);
}

.icon-wrap {
    width: 64px;
    height: 64px;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
}

.image-placeholder {
    background: #f8f9fa;
    border: 2px dashed #dee2e6;
    border-radius: 1.25rem;
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6c757d;
    font-weight: 600;
}

.soft-section {
    background: #f8f9fa;
    border-radius: 1.5rem;
}

.hero-card {
    transition: .2s;
    background: linear-gradient(135deg, #ffffff, #f8f9fa);
    border-radius: 1.5rem;
    box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.06);
    border: 1px solid rgba(0,0,0,.04);
}